【发布时间】:2019-08-20 15:23:34
【问题描述】:
我有这 2 个 df 基本相同,但在 df1 中,值是各个客户的付款金额,另一个是该期间的客户状态(第 1、2、3、4 列是句号):
df1:
customer|1|2|3|4
x |2|5|5|5
y | |5|5|5
z |5|5|5|
df2:
customer|1|2|3|4
x |N|E|E|E
y | |N|E|E
z |N|E|C|-
我想按 df2 的值的状态进行分组:
Status 1 |2 |3 |4
N 7|5 | |
E |10|10|10
C | |5 |
我曾经使用过对状态计数进行分组
df2.apply(pd.value_counts).fillna(0)
但现在,我想 SUM 相应数据框的值 DF1 而不是 count
【问题讨论】:
-
你能改变你的数据生成,以便我可以确保我理解 DataFrame 吗?我不确定为什么您的数据中有缺失值和“-”。那些应该是NaN吗?以下是否:
df1 = pandas.DataFrame({1:[2,0,5], 2:[5,5,5], 3:[5,5,5], 4:[5,5,0]}, index=['x', 'y', 'z'])代表您正在处理的 DataFrame? -
这些是我看到的数据透视表。有没有办法分享您使用的原始表格?
-
空格和'-'是NaN。其实并不代表。这只是一个例子
-
这两个数据框的一个例子i.imgur.com/R1L9L0A.png
-
您的数据位于
jupyter notebook。请执行print(df1.head(10))和print(df2.head(10))并将其输出复制粘贴到您的问题中。该输出对我们来说是可复制的,我们可以用它来回答您的问题。谢谢
标签: python pandas pivot-table pandas-groupby