【问题标题】:pivot groupby and sum pandas dataframe透视 groupby 和 sum pandas 数据框
【发布时间】:2020-08-03 09:14:02
【问题描述】:

这应该很简单,但我是使用 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) 中工作,所以解决方案应该可以解决。

【问题讨论】:

  • df.pivot_table(index=['year','month'], aggfunc='size', columns='mode')
  • 谢谢,如果您作为答案发布,我会接受它以防它帮助其他人

标签: python apache-spark group-by pivot


【解决方案1】:
df.pivot_table(index=['year','month'], aggfunc='size', columns='mode')

【讨论】:

  • 如果我在 koalas 数据帧 (apache spark) 上使用该方法,我会收到一个错误 - “值应该是字符串或一列的列表”。这是什么意思?
【解决方案2】:

您也可以使用pd.get_dummies():

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

结果:

            mode_a  mode_b
year month                
1    4           3       2

注意:我不确定它是否适用于 Koalas Apache Spark 环境。

【讨论】:

  • 谢谢,但 get_dummies 不是考拉函数,因此该方法不起作用
猜你喜欢
  • 2019-04-09
  • 2021-01-17
  • 2019-09-29
  • 2019-01-03
  • 2020-07-12
  • 2021-12-19
  • 2017-03-16
  • 2016-12-23
相关资源
最近更新 更多