繁体   English   中英

Pandas - 合并A列上的行,从每列B,C等获取第一个值

[英]Pandas - Merge rows on column A, taking first values from each column B, C etc

我有一个数据框,在多列中记录统计信息。 我有一个列名liststat_columns = ['Height', 'Speed'] 我想组合数据以获得每个id一行。 数据以最新的记录排序。 我想要最新的数据,所以我必须使用id的每一列的第一个值。

我的数据框看起来像这样:

Index  id       Height   Speed
0      100007            8.3
1      100007   54  
2      100007            8.6
3      100007   52  
4      100035   39  
5      100014   44       
6      100035            5.6

我希望它看起来像这样:

Index  id       Height   Speed
0      100007   54       8.3
1      100014   44      
2      100035   39       5.6

我自己groupby一个简单的groupby

df_stats = df_path.groupby(['id'], as_index=False).first()

但这似乎只给我排了第一个统计数据。

对我来说,你的解决方案正常工作,可能需要将空值替换为NaN

df_stats = df_path.replace('',np.nan).groupby('id', as_index=False).first()
print (df_stats)
       id  Index  Height  Speed
0  100007      0    54.0    8.3
1  100014      5    44.0    NaN
2  100035      4    39.0    5.6

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM