Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.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_Python 3.x_Pandas - Fatal编程技术网

Python 设置系列中的日期时间值时,使用COPYWARNING进行设置

Python 设置系列中的日期时间值时,使用COPYWARNING进行设置,python,python-3.x,pandas,Python,Python 3.x,Pandas,在使用iloc设置pandas系列中的值时,我得到了一个设置WithCopyWarning。我正在使用pandas 0.21.1和python 3.6.7 import pandas as pd from datetime import datetime from pytz import timezone tz = timezone('CET') ambiguous_dst = True expected_dt_series = pd.Series([ datetime(2018,

在使用iloc设置pandas系列中的值时,我得到了一个设置WithCopyWarning。我正在使用pandas 0.21.1和python 3.6.7

import pandas as pd
from datetime import datetime
from pytz import timezone

tz = timezone('CET')
ambiguous_dst = True

expected_dt_series = pd.Series([
    datetime(2018, 10, 28, 1),
    datetime(2018, 10, 28, 2),
    datetime(2018, 10, 28, 3),
    datetime(2018, 10, 28, 4),
])
expected_dt_series = expected_dt_series.dt.tz_localize(
    tz, ambiguous='NaT')

expected_dt_series.iloc[1] = tz.localize(
    datetime(2018, 10, 28, 2), is_dst=ambiguous_dst) # <- line that causes error

expected_dt_series = expected_dt_series.astype('object')
  • 为什么会发生这种情况?我正在原始系列中设置一个值
  • 我能做些什么来避免这种情况?(除关闭警告外)

  • 正是这一部分导致了问题:

    expected_dt_series=expected_dt_series.dt.tz_localize(tz,dimensional='NaT')

    使用
    copy

    expected_dt_series = expected_dt_series.dt.tz_localize(
        tz, ambiguous='NaT').copy()
    
    expected_dt_series.iloc[1] = tz.localize(
        datetime(2018, 10, 28, 2), is_dst=ambiguous_dst)
    

    明白了,谢谢。我混淆了Series.dt.tz_本地化和Series.tz_本地化的文档。
    expected_dt_series = expected_dt_series.dt.tz_localize(
        tz, ambiguous='NaT').copy()
    
    expected_dt_series.iloc[1] = tz.localize(
        datetime(2018, 10, 28, 2), is_dst=ambiguous_dst)