【发布时间】:2015-01-14 23:59:37
【问题描述】:
我有一个相当大的 csv 文件 (700mb),其组装如下:
qCode 日期值 A_EVENTS 2014 年 11 月 17 日 202901 A_EVENTS 2014 年 11 月 4 日 801 A_EVENTS 11/3/2014 2.02E+14 A_EVENTS 2014 年 10 月 17 日 203901 等等我正在解析该文件以获取特定值,然后使用 DF.loc 填充预先存在的 DataFrame,即代码:
文件解析中的行:
code=line[0]
for point in fields:
if(point==code[code.find('_')+1:len(code)]):
date=line[1]
year,quarter=quarter_map(date)
value=float(line[2])
pos=line[0].find('_')
ticker=line[0][0:pos]
i=ticker+str(int(float(year)))+str(int(float(quarter)))
df.loc[i,point]=value
else:
pass
我的问题是 .loc 是向现有 DataFrame 添加值的最有效方法吗?由于此操作似乎需要 10 多个小时...
fyi 字段是 DF 中的 col(我感兴趣的值),索引 (i) 是字符串...
谢谢
【问题讨论】: