【问题标题】:Importing only a few columns of a csv as a python pandas dataframe?仅将 csv 的几列导入为 python pandas 数据框?
【发布时间】:2020-02-17 20:59:19
【问题描述】:

我只想将 csv 的一个子集作为数据框导入,因为它太大而无法导入整个内容。有没有办法在 Pandas 中本地执行此操作,而无需设置类似数据库的结构?

我尝试只导入一个块然后连接,这仍然太大并导致内存错误。我有数百列,因此手动指定 dtypes 可能会有所帮助,但可能会花费大量时间。

df_chunk = pd.read_csv("filename.csv", chunksize=1e7)
df = pd.concat(df_chunk,ignore_index=True)

【问题讨论】:

标签: python database pandas large-data


【解决方案1】:

您可以在 read_csv 函数中使用 skiprowsnrows 参数从原始数据框中仅加载一部分行。

例如:

 import pandas as pd
 df = pd.read_csv("test.csv", skiprows = 4, nrows=10)

【讨论】:

  • 我需要所有行。列呢?
  • 为此,您可以使用 usecols 参数。
猜你喜欢
  • 2015-12-05
  • 1970-01-01
  • 2022-12-07
  • 2021-07-13
  • 1970-01-01
  • 1970-01-01
  • 2021-01-22
  • 1970-01-01
  • 2020-04-02
相关资源
最近更新 更多