枢轴分组和和熊猫数据框

时间:2020-08-03 09:14:02

标签: python apache-spark group-by pivot

这应该很简单,但是我刚接触python。有什么建议吗?

#original dataframe
df = pd.DataFrame({'year':[1,1,1,1,1],
                   'month':[4,4,4,4,4],
                   'mode': ['a','b','a','a','b']},
                  columns=['year','month','mode'])

#pivot/groupby etc
# df2=df.pivot(columns=('year','month'), values=('mode')).count()

#create this dataframe
df2 = pd.DataFrame({'year':[1],
                   'month':[4],
                   'a': [3],
                   'b':[2]},
                  columns=['year','month','a','b'])

我正在Koalas Apache Spark环境(documentation)中工作,因此解决方案应该可以在其上工作。

2 个答案:

答案 0 :(得分:1)

df.pivot_table(index=['year','month'], aggfunc='size', columns='mode')

答案 1 :(得分:1)

或者,您可以使用pd.get_dummies()

pd.get_dummies(df).groupby(['year','month']).sum()

结果:

            mode_a  mode_b
year month                
1    4           3       2

注意:我不确定在Koalas Apache Spark环境中是否可以使用。