我在pandas中有以下数据框架:
import pandas as pd
df = pd.DataFrame({'Sensor': ['strain', 'water', 'water', 'ultrassonic', 'strain'],
'Total': [1,10,20,5,9],
'Columns_3': ['A', 'B', 'C', 'D', 'E']})
print(df)
Sensor Total Columns_3
strain 1 A
water 10 B
water 20 C
ultrassonic 5 D
strain 9 E
我想做一个计数的总量不同的传感器。所以我决定尝试groupby()
如下:
df_result = df.groupby(['Sensor', 'Total'])['Total'].sum()
我的代码的输出是:
Sensor Total
strain 1 1
9 9
ultrassonic 5 5
water 10 10
20 20
Name: Total, dtype: int64
然而,我希望输出是一个数据帧(df_result
),如下所示:
print(df_result)
Sensor Total_final
strain 10
water 30
ultrassonic 5
你不需要total作为组的一部分
df.groupby(['Sensor'])['Total'].sum()
Sensor
strain 10
ultrassonic 5
water 30
Name: Total, dtype: int64
只能用Sensor
代替groupby
df_result = df.groupby(['Sensor'])['Total'].sum().reset_index()