pandas dataframe columns'产品操作存在bug?

时间:2016-01-12 10:10:02

标签: python pandas

通常我会创建一个新列df [' c'] = df [' a'] * df [' b']来计算列之间的产量a和b,其中df是pandas的数据帧dtypes是float64。并且pandas officially recommended this method instead of ".mul()" method。但是当我在下面运行代码时,我发现了错误。

def func(sym):
    location="D:\\data\\"
    df=pd.read_csv(location+sym+".csv")
    df['c']=df['A']*df['B'] # bug existing method (1)
    # df['c']=df['A'].mul(df['B'],axis=0) #replacing method (2)

    .....

for sym in symbollist:
    func(sym)

我使用下面的代码清理股票数据,显然df可能很大。但len(符号列表)只等于50.代码运行多次后,方法(1)可能会导致随机符号的列c的值分配为零,而方法(2)从开始到结束表现良好。

我使用的是eclipse和Anaconda的最新版本,而python是2.7。熊猫:0.17.1,Numpy:1.10.1。

0 个答案:

没有答案