pivot groupby和Dataframe

but5z9lq  于 2021-05-27  发布在  Spark
关注(0)|答案(2)|浏览(484)

这应该很简单,但我对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'])

我在考拉apachespark环境(文档)中工作,所以解决方案应该在它上面工作。

n7taea2i

n7taea2i1#

或者你可以使用 pd.get_dummies() :

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

结果:

mode_a  mode_b
year month                
1    4           3       2

注意:我不确定这在考拉apachespark环境中是否有效。

yftpprvb

yftpprvb2#

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

相关问题