相关疑难解决方法(0)

熊猫:链式作业

我一直在阅读这个链接的"返回视图与副本".我真的不明白的是如何链接分配在熊猫的概念工作和如何的使用.ix(),.iloc()或者.loc()影响它.

我得到SettingWithCopyWarning以下代码行的警告,其中data是Panda数据帧,并且amount是该数据帧中的列(系列)名称:

data['amount'] = data['amount'].astype(float)

data["amount"].fillna(data.groupby("num")["amount"].transform("mean"), inplace=True)

data["amount"].fillna(mean_avg, inplace=True)
Run Code Online (Sandbox Code Playgroud)

看看这段代码,我做的事情显然不是很理想吗?如果是这样,你能告诉我更换代码行吗?

我知道下面的警告,并且认为我的案例中的警告是误报:

链式分配警告/异常旨在通知用户可能无效的分配.可能存在误报; 无意中报告链式作业的情况.

编辑:导致第一次复制警告错误的代码.

data['amount'] = data.apply(lambda row: function1(row,date,qty), axis=1) 
data['amount'] = data['amount'].astype(float)

def function1(row,date,qty):
    try:
        if(row['currency'] == 'A'):
            result = row[qty]
        else:
            rate = lookup[lookup['Date']==row[date]][row['currency'] ]
            result = float(rate) * float(row[qty])
        return result
    except ValueError: # generic exception clause
        print "The current row causes an exception:"
Run Code Online (Sandbox Code Playgroud)

python copy pandas chained-assignment

15
推荐指数
1
解决办法
1万
查看次数

标签 统计

chained-assignment ×1

copy ×1

pandas ×1

python ×1