我有以下的数据,导入到pandas的same_freq_ho_pd里面了(有389行),我的需求很简单:
比如找出表格中d_eci=2132511的所有行,将其对应的d_mod3_value列值改为1或其他值。
类似的操作我要操作十几万到几百万次。所以速度很重要,但是我发现执行的很慢,还没有VBA快。
我开始用apply来完成这个功能,但速度偏慢 。
same_freq_ho_pd["d_mod3_value"] = same_freq_ho_pd.apply(lambda x: fuzhi_mod3(x.d_eci, cell3, cell3_mod3), axis=1)
然后用先将d_eci列中给每个值简历一个列表,用这个列表来辅助定位,赋值,如下:
same_freq_ho_pd.loc[d_eci_dic[cell3], "d_mod3_value"] = cell3_mod3
速度是快了近3倍,但还是远达不到我的期望。
因为我用vba来写这个功能,速度都比这个快了至少6倍。
能够执行,但感觉速度比较慢,因为我这个赋值会要操作几万-几百万次,所以希望速度能够尽量加快,不知道各位高手有没有建议!