Sar*_*ara 1 extract dataframe pandas
我们可以使用.idxmax来获取数据帧(df)的最大值。我的问题是我有一个包含多列(超过 10 个)的 df,其中一列具有相同值的标识符。我需要提取具有最大值的标识符:
>df
Run Code Online (Sandbox Code Playgroud)id value a 0 b 1 b 1 c 0 c 2 c 1
现在,这就是我想要的:
>df
Run Code Online (Sandbox Code Playgroud)id value a 0 b 1 c 2
我试图通过使用来获得它df.groupy(['id']),但这有点棘手:
df.groupby(["id"]).ix[df['value'].idxmax()]
当然,那是行不通的。我担心我没有走在正确的道路上,所以我想我会问你们!谢谢!
关闭!按id分组,然后使用value列;返回每个组的最大值。
In [14]: df.groupby('id')['value'].max()
Out[14]:
id
a 0
b 1
c 2
Name: value, dtype: int64
Run Code Online (Sandbox Code Playgroud)
Op 想要将这些位置提供回框架,只需创建一个转换和分配。
In [17]: df['max'] = df.groupby('id')['value'].transform(lambda x: x.max())
In [18]: df
Out[18]:
id value max
0 a 0 0
1 b 1 1
2 b 1 1
3 c 0 2
4 c 2 2
5 c 1 2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2003 次 |
| 最近记录: |