在使用DataFrame赋值的时候,报错如下:
E:/1、荣数/工单周报/运行程序/1:27: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
df['创建时间2'][i]=datetime.strptime(df['创建时间'][i].split(' ')[0], "%Y-%m-%d")
经查发现错误是由于df的赋值引起的
for i in df.index:
if df['完成时间'][i] is not np.nan:
df['创建时间2'][i]=datetime.strptime(df['创建时间'][i].split(' ')[0], "%Y-%m-%d")
df['完成时间2'][i]= datetime.strptime(df['完成时间'][i].split(' ')[0],"%Y-%m-%d")
正确的赋值方式:
df.loc[‘行标签’,‘列标签’] 来赋值
for i in df.index:
if df['完成时间'][i] is not np.nan:
df.loc[i,'创建时间2']=datetime.strptime(df['创建时间'][i].split(' ')[0], "%Y-%m-%d")
df.loc[i,'完成时间2']= datetime.strptime(df['完成时间'][i].split(' ')[0],"%Y-%m-%d")