我有以下dataframe:
ID customer Month Amount
0 026 201707 31,65
1 026 201708 31,65
2 026 201709 31,65
3 026 201710 31,65
4 026 201711 31,65
其中Amount
最初是object
类型。我想计算每个ID的总和和平均值。首先,我尝试将Amount
列从object
转换为float
:
df['Amount'] = pd.to_numeric(df['Amount'], errors='coerce')
但我得到了Amount
列中所有值的NaN
:
ID customer Month Amount
0 026 201707 NaN
如何将列对象类型转换为具有实际数字的float
,然后聚合每个客户的值(总和,平均值)?
2条答案
按热度按时间ie3xauqp1#
在
pd.to_numeric
之前使用Series.str.replace
将,
转换为.
然后您可以使用groupby.agg
如果你想聚合到初始化的框架,使用
GroupBy.transform
:kqqjbcuj2#
更简单的语法可用吗?接受答案的第一部分没有问题:
关于分组,pivot允许更简单的语法:
输出量: