python – Pandas – 替换列值

python – Pandas – 替换列值,第1张

概述我知道这个问题有很多主题,但没有一种方法适合我,所以我发布了我的具体情况 我有一个如下所示的数据框: data = pd.DataFrame([[1,0],[0,1],[1,0],[0,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]: dataOut[12]:      sex  split0    Male      01  Female      12    Male      03  Female      1

你也可以使用字典,例子 –

In [15]: data = pd.DataFrame([[1,"split"])In [16]: data['sex'].replace({0:'Female',1:'Male'},inplace=True)In [17]: dataOut[17]:      sex  split0    Male      01  Female      12    Male      03  Female      1
总结

以上是内存溢出为你收集整理的python – Pandas – 替换列值全部内容,希望文章能够帮你解决python – Pandas – 替换列值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1191095.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存