在 Pandas 中处理大型数据透视表
Posted
技术标签:
【中文标题】在 Pandas 中处理大型数据透视表【英文标题】:handle large pivot tables in Pandas 【发布时间】:2018-10-01 02:31:10 【问题描述】:我正在创建一个非常大的数据透视表,但在 Python IDE 或笔记本中我只能看到部分结果。
我希望所有结果都采用更好的格式,例如 Excel 表格。
但如果尝试将结果导出到 excel,我只能看到 D 计算字段,而不是 A 和 C 变量中的数据。
您对在 pandas 中更好地管理大型数据透视表有什么想法吗?
import numpy as np
import pandas as pd
N = 100
df = pd.DataFrame(
'A': pd.date_range(start='2016-01-01',periods=N,freq='D'),
'x': np.linspace(0,stop=N-1,num=N),
'y': np.random.rand(N),
'C': np.random.choice(['Low','Medium','High'],N).tolist(),
'D': np.random.normal(100, 10, size=(N)).tolist()
)
my_table=pd.pivot_table(df,index=["A","C"],values=["D"], aggfunc='sum',margins=True)
writer = pd.ExcelWriter('C:/pandas_positioning.xlsx', engine='xlsxwriter')
my_table.to_excel(writer, sheet_name='my_data',
startrow=7, startcol=4, header=False, index=False)
writer.save()
【问题讨论】:
一面没有。C
和 D
列不需要 .tolist()
【参考方案1】:
这应该可以解决您的问题
my_table.to_excel(writer, sheet_name='my_data',
startrow=7, startcol=4, header=False)
A
和 C
是索引,您没有将它们写入文件。
【讨论】:
以上是关于在 Pandas 中处理大型数据透视表的主要内容,如果未能解决你的问题,请参考以下文章