Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我将值列表分配给一个新列,并使用CopyWarning获取警告设置:_Python_Pandas - Fatal编程技术网

Python 我将值列表分配给一个新列,并使用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

我有一个数据框,上面有2015年的月份和日期。我将年初至今的值计算到一个列表中。我将此列表分配给数据框中的一个新列,但使用CopyWarning获得警告设置。我该如何避开它,并解释为什么会发生这种情况。提前谢谢大家

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时的这种使用