Python pandas replace不替换值,即使inplace=True

Python pandas replace不替换值,即使inplace=True,python,pandas,Python,Pandas,我的数据是这样的。如果“没有子女”不是nan,我想用“已婚”替换婚姻状况“失踪” >cust_data_df[['marital_status','no_of_children']] > marital_status no_of_children 0 Married NaN 1 Married NaN 2 Missing 1 3 Missing 2 4 Single

我的数据是这样的。如果
“没有子女”
不是
nan,我想用
“已婚”
替换婚姻状况
“失踪”

>cust_data_df[['marital_status','no_of_children']]
>

    marital_status  no_of_children

0   Married           NaN
1   Married           NaN
2   Missing            1
3   Missing            2
4   Single            NaN
5   Single            NaN
6   Married           NaN
7   Single            NaN
8   Married           NaN
9   Married           NaN
10  Single            NaN
这就是我所尝试的:

cust_data_df.loc[cust_data_df['no_of_children'].notna()==True, 'marital_status'].replace({'Missing':'Married'},inplace=True)

但这并没有起任何作用。

将替换后的值分配给avoid:

如果需要设置所有值:

cust_data_df.loc[m, 'marital_status'] = 'Married'
编辑:

感谢@Quickbeam2k1的解释:

cust_data_df.loc[cust_data_df['no_of_children'].notna()==True,'mutual_status']只是一个没有参考的新对象。在此处替换将保持原始对象不变


也许有更多的解释:
cust_data_df.loc[cust_data_df['no_of_children'].notna()==True,'mutual_status']
只是一个没有参考的新对象。在此处替换将保持原始对象不变
cust_data_df.loc[m, 'marital_status'] = 'Married'