Python “错误”;试图在来自数据帧的切片副本上设置一个值";替换列中的值时

Python “错误”;试图在来自数据帧的切片副本上设置一个值";替换列中的值时,python,pandas,dataframe,Python,Pandas,Dataframe,我试图通过运行以下命令,将状态值从未定义替换为失败,如果美元(u real)美元(u real)中的值美元(u real): data.loc[(data['state'] == 'undefined') & (data['usd_pledged_real'] < data['usd_goal_real'])]['state'].replace('undefined', 'failed', inplace=True) 我的数据集: 我认为这里没有必要替换,因为通过测试未定义的条件

我试图通过运行以下命令,将状态值从
未定义
替换为
失败
,如果
美元(u real)
美元(u real)中的值美元(u real):

data.loc[(data['state'] == 'undefined') & (data['usd_pledged_real'] < data['usd_goal_real'])]['state'].replace('undefined', 'failed', inplace=True)
我的数据集:


我认为
这里没有必要替换
,因为通过测试
未定义的条件设置值

m = (data['state'] == 'undefined') & (data['usd_pledged_real'] < data['usd_goal_real'])
data.loc[m,'state'] = 'failed'

通常不建议使用
in place

熊猫核心团队不鼓励使用inplace参数,最终它将被弃用(这意味着“计划从库中删除”)。原因如下:

inplace在方法链中不起作用。
使用inplace通常不会阻止创建副本,这与名称的含义相反。
删除inplace选项将降低pandas代码库的复杂性

m = (data['state'] == 'undefined') & (data['usd_pledged_real'] < data['usd_goal_real'])
data.loc[m,'state'] = 'failed'
m = (data['state'] == 'undefined') & (data['usd_pledged_real'] < data['usd_goal_real'])
data.loc[m,'state'] = data.loc[m,'state'].replace('undefined', 'failed')