石器时代的大菠萝 发表于 2021-6-4 13:14
老师您好,我根据自己的需求改了程序,但是因为我的计算过程更为复杂,所以使用python计算的时候经常会卡住(我的数据有3万多条,如果拆分成几百一个文件能够跑出来,但是效率很低),想请问您有没有优化程序的方法,我的程序如下import pandas as pd
df=pd.read_excel('D:\\研究生\\小论文\\export.xlsx')
df
data_list=[]
for hs_ in df['hs6'].unique():
for year_ in df['year'].unique():
for city_ in df['city'].unique():
for country_ in df['CountryName'].unique():
df2=df[(df['hs6']==hs_)&(df['year']==year_)&(df['city']==city_)&(df['CountryName']==country_)].set_index('id_new')
for i in df2.index:
df3=df2.loc[df2.index!=i].copy()
print(df3)
print('"%s"公司的取值是:%s'%(i,sum(df3['qua']*(df3['export']/df3['export'].sum()))) )
df2.loc[i,'qua_weighted average']=sum(df3['qua']*(df3['export']/df3['export'].sum()))
data_list.append(df2)
df4=pd.concat(data_list)
df4
df4.to_excel('D:\\研究生\\小论文\\qua_weighted_average.xlsx')