![](/img/trans.png)
[英]How to merge(join) two rows in pandas with different values in each column?
[英]Pandas - Merge rows on column A, taking first values from each column B, C etc
我有一个数据框,在多列中记录统计信息。 我有一个列名list
: stat_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.