这是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']
的操作,但也许有更酷的方式?
答案 0 :(得分:0)
如果我理解正确,您是否正在为每个A值查找单独的Excel文件?如果是这样,以下内容应该有效:
for i in df.a.unique():
df[df['a'] == i].to_excel(path+_i)
您可以根据需要调整路径,但这是一种非常简单的方法来执行您正在寻找的内容。