熊猫:链式作业
我一直在阅读这个链接的“返回视图与副本”。我真的不明白的是如何链接分配在熊猫的概念工作和如何的使用.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)
看看这段代码,我做的事情显然不是很理想吗?如果是这样,你能告诉我更换代码行吗?
我知道下面的警告,并且认为我的案例中的警告是误报:
链式分配警告/异常旨在通知用户可能无效的分配。可能存在误报; 无意中报告链式作业的情况。
编辑:导致第一次复制警告错误的代码。
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:"
慕仙森
相关分类