熊猫:如何使用每个可枢转的值进行操作?

时间:2017-04-03 09:49:04

标签: python pandas

这是this的延续。让我们说我有代码可以执行我想要的表

df.groupby('A')['B'].value_counts().unstack().stack(dropna=False
                ).reset_index(name="Count").set_index(['A', 'B'])

|----|----|-------|
| A  | B  | Count |
| a1 | b1 |  1    |
|    | b2 |  1    |
|    | b3 |  NaN  |
| a2 | b1 |  1    |
|    | b2 |  NaN  |
|    | b3 |  1    |

问题在于, B 列可能具有多变量值,例如:许多独特的价值观因此,填充 A 列值有点远了:)最终,这一切都应存储在某些Excel格式文件df.to_excel()中。建议该解决方案根据 A 值生成Excel文件。例如。而不是 groupped.xlsx ,而你拥有所有这个数据透视表,以获得 A_a1.xlsx,A_a2.xlsx 文件。

问题:你是怎么做到的?

我有一些选项可以获取唯一的 A 值列表,只需执行类似df_loc = df.loc[df['A'] == 'a1']的操作,但也许有更酷的方式?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您是否正在为每个A值查找单独的Excel文件?如果是这样,以下内容应该有效:

for i in df.a.unique(): df[df['a'] == i].to_excel(path+_i)

您可以根据需要调整路径,但这是一种非常简单的方法来执行您正在寻找的内容。