Pandas - Add Column Name to Results of groupby
本问题已经有最佳答案,请猛点这里访问。
我想在Python3.6中的
我试过这个代码:
1 2 3 4 5 | import pandas as pd d = {'timeIndex': [1, 1, 1, 1, 2, 2, 2], 'isZero': [0,0,0,1,0,0,0]} df = pd.DataFrame(data=d) df2 = df.groupby(['timeIndex'])['isZero'].sum() print(df2) |
结果
1 2 3 4 | timeIndex 1 1 2 0 Name: isZero, dtype: int64 |
看起来
1 2 3 4 5 | df2['timeIndex'] # KeyError: 'timeIndex' df2['isZero'] # KeyError: 'isZero' |
我在找这个结果。
1 2 3 4 5 6 7 8 9 10 | df2 timeIndex isZero 0 1 1 1 2 0 df2['isZero'] 0 1 1 0 |
方法1:
在你的
1 2 3 4 5 6 7 8 9 10 11 | df2 = df.groupby(['timeIndex'], as_index=False)['isZero'].sum() >>> df2 timeIndex isZero 0 1 1 1 2 0 >>> df2['isZero'] 0 1 1 0 Name: isZero, dtype: int64 |
方法2:
您可以将
1 2 3 4 5 6 7 8 9 10 11 | df2 = df.groupby(['timeIndex'])['isZero'].sum().to_frame('isZero').reset_index() >>> df2 timeIndex isZero 0 1 1 1 2 0 >>> df2['isZero'] 0 1 1 0 Name: isZero, dtype: int64 |