nie*_*sen 6 python dataframe pandas
说我有一个 DataFrame
data = {'Column 1': [ 1, 1, 2, 2, 2, 3, 4, 4, 4, 4],
'Column 2': [ 1, 2, 1, 2, 3, 1, 1, 2, 3, 4],
'Column 3': [ 1, 2, 1, 4, 3, 6, 1, 2, 7, 5]}
df = pd.DataFrame(data=data)
Run Code Online (Sandbox Code Playgroud)
我想获取第 2、5、6 和 10 行,因为它们是第 1 列中每个值的最后一行。假设第 1 列是一个 ID,第 2 列表示该 ID 的编号。我需要它为第 1 列中的每个数字选择第 2 列中的最大数字,并保留第 3 列而不更改第 2 列和第 3 对。
所以我从
1 1 1
1 2 2
2 1 1
2 2 4
2 3 3
3 1 6
4 1 1
4 2 2
4 3 7
4 4 5
Run Code Online (Sandbox Code Playgroud)
到
1 2 2
2 3 3
3 1 6
4 4 5
Run Code Online (Sandbox Code Playgroud)
如果我做
df.groupby(['Column 1']).max()
Run Code Online (Sandbox Code Playgroud)
我没有得到我想要的,因为它会使第 2 列和第 3 列最大化。
groupby/taildf.groupby('Column 1').tail(1)
Column 1 Column 2 Column 3
1 1 2 2
4 2 3 3
5 3 1 6
9 4 4 5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |