import pandas as pd
import os
df_dict = {}
def load_csv(year, directory):
# create a file list
file_list = [x for x in os.listdir(path=directory) if x.endswith('.csv')]
# iterate file names
for i in file_list:
# split file name
y, m = i.split('.')[0].split('-')
# if file name meets criterion create a new df add it to dict
if y == str(year):
df_dict[i] = pd.read_csv(directory + i)
# concatenate all dfs, set axis to concatenate columns or rows
df_year = pd.concat([df_dict[i] for i in df_dict], axis=0)
return df_year
HDF5是非常适合大量数值数据的数据格式。幸运的是有一个package for python。 如果您正在寻找panda的替代品来处理大型数据集,您可以尝试Dask或Vaex,它们具有类似API的panda。
2条答案
按热度按时间jogvjijk1#
如果没有一个最小的工作示例,很难做到具体,但作为一个起点,您可以尝试以下内容:
HDF5是非常适合大量数值数据的数据格式。幸运的是有一个package for python。
如果您正在寻找panda的替代品来处理大型数据集,您可以尝试Dask或Vaex,它们具有类似API的panda。
sshcrbum2#
使用dask和glob语法。
Glob语法将允许您过滤文件名,dask将允许您并行化/分布读取/加载。