我有一个Pandas Dataframe ,看起来像下面的一个。
| 赛车手|种族时间1|种族时间2|第1个_位置|第二个_位置|...|
| - ------| - ------| - ------| - ------| - ------| - ------|
| 乔什莫|零时二十四分十二秒|钠氮|1个|无||
| 乔什莫|钠氮|零时三十二分四十三秒|无|无||
| 乔什莫|钠氮|零点三十分二十一秒|无|1个||
| 萨利苏|钠氮|零时二十九分五十四秒|1个|无||
我想按参赛者姓名对所有行进行分组,以显示总的比赛时间、地点等。
我正在尝试用
df.groupby('racer', dropna=True).agg('sum')
每一列最初都是作为一个对象dtype加载的,这会在将数字与非空值聚合时产生问题。
对于race_time值,在大量搜索之后,我尝试将列更改为datetime64 [ns] dtype,并为day/month/year提供虚拟数据,但是在调用groupby函数时,race_time列没有求和,而是从 Dataframe 中删除。
当我将1st_Place和2nd_place改为float数据类型时,就会出现相反的问题。当groupby被调用时,聚合会按预期工作,但是每隔一列就会被删除(对象列)。
例如,与乔施莫我想看到:
| 赛车手|种族时间1|种族时间2|第1个_位置|第二个_位置|
| - ------| - ------| - ------| - ------| - ------|
| 乔什莫|零时二十四分十二秒|一点零三分零四秒|1个|1个|
我怎样才能让Pandas像这样聚合我的 Dataframe 呢?
1条答案
按热度按时间vyu0f0g11#
用途: