试图在来自 DF 的切片副本上设置值

2022-01-20 00:00:00 python pandas dataframe 复制

问题描述

我正在用 pandas 和 python 做一些事情.我有下一个代码

I´m doing some stuff with pandas and python. I have the next code

df = pd.read_csv("Request.csv", keep_default_na=False)
df1 = df.loc[(df["Request Status"] == "Closed")]
df1["Request Close-Down Actual"] = pd.to_datetime(df1["Request Close-Down Actual"], errors = 'coerce' )
df3 = df1.loc[(df1["Request Close-Down Actual"] < '2016-11-01') | (df1["Request Close-Down Actual"].isnull())]        
df3.set_index("Request ID", inplace = True)
df3.to_csv("Request1.csv")

问题是当我运行代码时,我会收到下一个问题

The issue is when i run the code i receive the next issue

试图在数据帧的切片副本上设置值

A value is trying to be set on a copy of a slice from a DataFrame

df1.loc[请求关闭实际"] = pd.to_datetime(df1[请求Close-Down Actual"], errors = 'coerce')

df1.loc["Request Close-Down Actual"] = pd.to_datetime(df1["Request Close-Down Actual"], errors = 'coerce' )

请有人帮我解决这个问题.谢谢

Can someone give me a hand with this please. Thanks


解决方案

我测试了它,对我来说效果很好.

I test it and for me it works nice.

问题应该在上面一行:

df1 = df.loc[(df["Request Status"] == "Closed")]

解决方案是 copy:

And solution is copy:

#loc is not necessary
df1 = df[df["Request Status"] == "Closed"].copy()

<小时>

错误显示 loc - 如果需要选择列,请尝试删除它:


Error show loc - try remove it if need select column:

df1.loc["Request Close-Down Actual"] = pd.to_datetime(df1["Request Close-Down Actual"], errors = 'coerce' )

到:

df1["Request Close-Down Actual"] = pd.to_datetime(df1["Request Close-Down Actual"], errors = 'coerce' )

相关文章