我想从块中生成一个df,例如:
chunksize = 1
df_list = []
for chunk in pd.read_csv(filename, chunksize=chunksize):
df_list.append(chunk)
data_raw = pd.concat(df_list)
然而,计算机的RAM仅为3GB,CSV文件超过3GB,如下所示:
a b c d e f g h i j ... \
0 2 2 0 8.17680 4.76726 25.6957 1.13633 0 3 4.8 ...
1 3 0 0 8.22718 2.35340 15.2934 1.13633 0 3 4.8 ...
我想通过块从文件生成一个df,以便将数据分开训练X,在某些字段上测试y,例如" a-e"训练X," g-h"在那之后测试y。单独函数的输入类型是df。 你能举一些具体的例子来从块或csv离线生成df吗?
答案 0 :(得分:1)
您可以尝试使用pandas.read_csv
(documentation)。您要查找的是usecols
参数,您可以在其中指定要加载的列,例如:列车集['a', 'b', 'c', 'd']
。
同时指定chunksize
可能会有所帮助。以下是更多信息:https://pandas-docs.github.io/pandas-docs-travis/io.html#iterating-through-files-chunk-by-chunk