我遇到了熊猫的记忆问题。 我一直在搜索,但是找不到适合我的解决方案。 我相信这是一个PEBCAK错误,因为我是python和pandas的新手。
这是导致错误的代码:
filelist = glob.glob("./data/*.csv")
df = pd.DataFrame()
for i in filelist:
tmp = pd.read_csv(i)
ticker = i.split('/')[-1].split('.')[0].replace('data\\','')
data = pd.DataFrame(tmp, columns=["close", "closePct","date"])
data = data.rename(columns={'close': ticker, 'closePct': ticker+"Pct"})
# get only stocks with 10y of data
if len(data) > (250*10):
if len(df.columns) > 0:
df = pd.merge(df, data, on='date')
df = df.dropna()
else:
df = data.copy()
print(len(df.columns))
else:
print("drop " + ticker)
df.set_index('date', inplace=True)
我试图读取的文件数约为200,每个文件包含2500行。我只想选择列date,close和closePct。我将列重命名为股票行情代码,以跟踪股票。
我尝试过使用dask,但是效果不佳。 :S
Br