pandas DataFrame 中的“列”数量限制为 1024
Posted
技术标签:
【中文标题】pandas DataFrame 中的“列”数量限制为 1024【英文标题】:No of `columns` in pandas DataFrame limited to 1024 【发布时间】:2016-02-16 06:22:07 【问题描述】:我有一个 15 行 1445 列(24*60 +5 列)的 Excel 表。 1440列(24*60)列包含的数据为时序数据。
我有以下 python 代码。
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from matplotlib.backends.backend_pdf import PdfPages
a=pd.read_csv('test.csv')
print('a.size '.format(len(a.axes[0])))
print('a.size '.format(len(a.axes[1])))
for x in a.iterrows():
x[1][4:].plot(label=str(x[1][0])+str(x[1][1])+str(x[1][2])+str(x[1][3]))
我得到以下输出。
a.size 15
a.size 1024
由于某种原因,列数被截断为 1024。这是我正在运行的机器的限制吗?或者是别的什么?如何绕过这个限制。
【问题讨论】:
为了它的价值,我制作了一个包含很多列的 csv 并得到了这个:print('chart1.size '.format(len(chart1.axes[1])))
chart1.size 1619
。我在一台新的 64 位笔记本电脑上......
@snd - 我系统上的奇怪的东西似乎在限制它。很多列是指 1619 还是更多?
哦,是的,我的意思是 1619 列。刚刚使它成为一个偶数 2000,输出这个:chart1.size 2000
。
【参考方案1】:
某些电子表格查看器可能会限制查看的列数。例如,我有一个包含 4097 列的 CSV 文件,当使用 LibreOffice 查看时,它只有 1024 列。
但是,CSV 文件通常包含所有列。要确保导出的 CSV 文件具有正确的列数,请在任何文本编辑器中打开它。如果不匹配,则导出 CSV 的代码有问题。
【讨论】:
以上是关于pandas DataFrame 中的“列”数量限制为 1024的主要内容,如果未能解决你的问题,请参考以下文章
Pandas DataFrame groupby,跨列计数和求和
将 Pandas DataFrame 中的列组合到 DataFrame 中的列表列
pandas将dataframe数据列中的年月日列组合成单一的日期数据列实战
pandas筛选dataframe数据中指定数据列的内容包含在指定列表中的所有数据列
pandas使用dataframe中的两列时间对象数据列作差生成时间差数据列(timedelta column)
pandas使用dataframe中的两列时间对象数据列作差生成时间差数据列筛选dataframe数据中时间差(timedelta对象)大于指定阈值的数据行