【问题标题】:Python Pandas df.infoPython Pandas df.info
【发布时间】:2016-11-02 11:42:13
【问题描述】:
Total files to Process :  100
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1713078 entries, 0 to 1713077
Columns: 322 entries, #RIC to Reuters Classification Scheme.1
dtypes: object(322)
memory usage: 17.1 GB
None

我从 100 个 csv 文件中创建了一个数据框,您有 df.info(memory_usage='deep') 用于此。 它显示17.1 GB。 它到底是什么意思? 我的 Mac 只有 16 GB 的 RAM ......我怎么能处理它? 以及最多可以增加多少……例如上限是多少。

【问题讨论】:

  • 应该是virtual memory
  • @MosesKoledoye 我有 8 GB 交换空间....所以它可以增加到 24 GB?

标签: python python-2.7 pandas


【解决方案1】:

pandas 允许处理非常大的 csv 文件,即使这些文件不适合内存,一种方法是按块读取它:

reader = pd.read_csv(csv_filename, iterator=True, chunksize=1000)

其中 chunksize 是要处理的行数。

然后您可以迭代返回的 TextParser 对象,例如:

for df in reader:
# process each data frame
    your_processing(df)

根据您的处理,您甚至可以使用多处理来加快处理速度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 2020-05-12
    • 2021-04-17
    • 1970-01-01
    • 2020-08-16
    • 2018-07-13
    相关资源
    最近更新 更多