python – Pandas – 替换列值
发布时间:2020-12-20 10:34:19 所属栏目:Python 来源:网络整理
导读:我知道这个问题有很多主题,但没有一种方法适合我,所以我发布了我的具体情况 我有一个如下所示的数据框: data = pd.DataFrame([[1,0],[0,1],[1,1]],columns=["sex","split"])data['sex'].replace(0,'Female')data['sex'].replace(1,'Male')data 我想要做的是
我知道这个问题有很多主题,但没有一种方法适合我,所以我发布了我的具体情况
我有一个如下所示的数据框: data = pd.DataFrame([[1,0],[0,1],[1,1]],columns=["sex","split"]) data['sex'].replace(0,'Female') data['sex'].replace(1,'Male') data 我想要做的是将性别列中的所有0替换为“女性”,将所有1替换为“男性”,但是当我使用上面的代码时,数据框中的值似乎没有改变 我是否错误地使用了replace()?或者有更好的方法来有条件地替换价值观吗? 解决方法
是的,您使用不正确,默认情况下
Series.replace() 不是就地操作,它返回替换的数据框/系列,您需要将其分配回dataFrame / Series以实现其效果.或者,如果您需要在原地进行,则需要将inplace关键字参数指定为True示例 –
data['sex'].replace(0,'Female',inplace=True) data['sex'].replace(1,'Male',inplace=True) 此外,您可以通过使用to_replace参数和值参数的列表将上述内容组合到单个替换函数调用中,示例 – data['sex'].replace([0,['Female','Male'],inplace=True) 示例/演示 – In [10]: data = pd.DataFrame([[1,"split"]) In [11]: data['sex'].replace([0,inplace=True) In [12]: data Out[12]: sex split 0 Male 0 1 Female 1 2 Male 0 3 Female 1 你也可以使用字典,例子 – In [15]: data = pd.DataFrame([[1,"split"]) In [16]: data['sex'].replace({0:'Female',1:'Male'},inplace=True) In [17]: data Out[17]: sex split 0 Male 0 1 Female 1 2 Male 0 3 Female 1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |