Python 我将值列表分配给一个新列,并使用CopyWarning获取警告设置:
我有一个数据框,上面有2015年的月份和日期。我将年初至今的值计算到一个列表中。我将此列表分配给数据框中的一个新列,但使用CopyWarning获得警告设置。我该如何避开它,并解释为什么会发生这种情况。提前谢谢大家Python 我将值列表分配给一个新列,并使用CopyWarning获取警告设置:,python,pandas,Python,Pandas,我有一个数据框,上面有2015年的月份和日期。我将年初至今的值计算到一个列表中。我将此列表分配给数据框中的一个新列,但使用CopyWarning获得警告设置。我该如何避开它,并解释为什么会发生这种情况。提前谢谢大家 print(dfabovemax.head()) print(dfabovemax.tail()) MaxTemp Data_Value Mon-Date 01-02 114 113 01-10
print(dfabovemax.head())
print(dfabovemax.tail())
MaxTemp Data_Value
Mon-Date
01-02 114 113
01-10 142 126
04-10 213 203
04-15 246 228
05-03 203 195
MaxTemp Data_Value
Mon-Date
01-02 114 113
01-10 142 126
04-10 213 203
04-15 246 228
05-03 203 195
fmt = '%Y-%m-%d'
ytodt2 = []
for i in dfabovemax.index:
s='2005-{}'.format(i)
dt = datetime.datetime.strptime(s, fmt)
tt = dt.timetuple()
ytodt2.append(tt.tm_yday)
dfabovemax['YtoDt'] = list(ytodt2)
我得到一个警告
/opt/conda/lib/python3.6/site packages/ipykernel/main.py:14:SettingWithCopyWarning:
试图在数据帧切片的副本上设置值。
尝试改用.loc[row\u indexer,col\u indexer]=value
请参阅文档中的注意事项:
12-30 134 128 364在试图设置数据帧副本上的值时,经常会收到此警告。代码中唯一可能发生这种情况的地方是
dfabovemax['YtoDt'] = list(ytodt2)
这意味着在所有的可能性中,DFMAX是另一个数据帧的结果。在python中,dfovermax仍然引用它的原始数据帧。为了纠正在创建dfovermax.时的这种使用,在尝试设置数据帧副本上的值时,经常会收到此警告。代码中唯一可能发生这种情况的地方是
dfabovemax['YtoDt'] = list(ytodt2)
这意味着在所有的可能性中,DFMAX是另一个数据帧的结果。在python中,dfovermax仍然引用它的原始数据帧。为了纠正您在使用DFMAX时的这种使用