我正在使用ipython3 notebook并运行以下命令:
separ['RT'] = separ['text'].str.contains(r"^(?=.*\bRT\b\s@\b).*$",
case=False) == True我得到的警告如下:
-c:3: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead我不知道这是什么意思,也不知道该如何处理。
发布于 2018-04-07 13:34:07
问题出在过滤上:
separ = tweets[tweets['TradeWar'] == True] 什么与以下内容相同:
separ = tweets[tweets['TradeWar']]并且需要copy
separ = tweets[tweets['TradeWar']].copy()如果您稍后修改separ中的值,您会发现修改不会传播回原始数据(tweets),并且Pandas会发出警告。
同样,代码也应该简化:
separ['RT'] = separ['text'].str.contains(r"^(?=.*\bRT\b\s@\b).*$", case=False) https://stackoverflow.com/questions/49704000
复制相似问题