【发布时间】:2018-01-08 04:16:18
【问题描述】:
我有一个 18GB 的 csv 文件,我想根据它做一些计算。我试图用 pandas 来做,但似乎只需要读取这个文件就需要很长时间。
以下代码是我所做的:
df=pd.read_csv('/Users/gaoyingqiang/Desktop/D989_Leistung.csv',usecols=[1,2],sep=';',encoding='gbk',iterator=True,chunksize=1000000)
df=pd.concat(df,ignore_index=True)
U1=df['Kanal 1-1 [V]']
I1=df['Kanal 1-2 [V]']
c=[]
for num in range(0,16333660,333340):
lu=sum(U1[num:num+333340]*U1[num:num+333340])/333340
li=sum(I1[num:num+333340]*I1[num:num+333340])/333340
lui=sum(I1[num:num+333340]*U1[num:num+333340])/333340
c.append(180*mt.acos(2*lui/mt.sqrt(4*lu*li))/np.pi)
lu=0
li=0
lui=0
phase=pd.DataFrame(c)
phase.to_excel('/Users/gaoyingqiang/Desktop/Phaseverschiebung_1.xlsx',sheet_name='Sheet1')
有没有办法加速这个过程?
【问题讨论】:
-
是否需要生成一个单一的、海量的excel文件?你确定 excel 能读懂这个吗?
标签: python pandas csv readfile dask