我正在尝试编写将执行以下操作的内容:
读取超过 1m 行和 100 列数据的 CSV;通过从最大数到最小数列出重复行的出现来总结每一列
到目前为止我所拥有的:
import pandas as pd
df = pd.read_csv (r'infile.csv')
outfile = ('outfile.csv')
for i in df:
df.pivot_table(index=i, aggfunc='size').to_csv(outfile, mode='a')
此代码输出如下:
ColumnA,0
asdf,30
qwer,10
xyz,3
ColumnB,0
zxcv,50
jkl,8
我希望输出像这样在 excel 中打开:
ColumnA ColumnB
asdf 30 zxcv 50
qwer 10 jkl 8
xyz 3
或者至少有这样的 CSV:
ColumnA
asdf,30
qwer,10
xyz,3
ColumnB
zxcv,50
jkl,8
我曾尝试在 for 循环中的每次迭代后写一个空行,但无论出于何种原因,空行总是全部添加到文件末尾 - 我认为这与 Pandas 将数据帧推送到 CSV 的方式有关?我不知道。
CSV 不使用相同的列标题,也不使用相同的行值,列或行的数量也不可靠地相同,因此它必须能够根据 CSV 包含的内容创建这些列表,而无需用户输入。
如果可能的话,我不反对在一次输出所有数据之前将每个数据子集添加到更大的数据帧中。
我是 Pandas 的新手,只是 Python 的初学者,所以我不知道什么是完成这项工作的最佳方法。
感谢您的帮助!
哔哔one
慕标5832272
相关分类