python - 替换列中的值

标签 python python-3.x pandas dataframe

这是我的数据集,其中有四列。我想将 survival_status 列中的值(1 和 2)替换为(负数和正数)。我正在使用 pandas 来更改值。

 Age  operation_year  axillary_nodes_detected  survival_status
0   30              64                        1                1
1   30              62                        3                1
2   30              65                        0                2
3   31              59                        2                1
4   31              65                        4                2

Haberman["survival_status"] = Haberman["survival_status"].apply(lambda x : 'Positive' if x == 2 else 'Negative')

应用后,它将整个列值更改为负值。

Haberman['survival_status'].value_counts()
Negative    306
Name: survival_status, dtype: int64

谁能告诉我我哪里做错了?

最佳答案

一种方法是使用字典映射。但首先请确保您的数据帧已转换为 int:

df = df.astype(int)

d = {2: 'Positive', 1: 'Negative'}

df['survival_status'] = df['survival_status'].map(d)

结果:

print(df)

   Age  operation_year  axillary_nodes_detected survival_status
0   30              64                        1        Negative
1   30              62                        3        Negative
2   30              65                        0        Positive
3   31              59                        2        Negative
4   31              65                        4        Positive

关于python - 替换列中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49997683/

相关文章:

python - 在 Pandas 中分组数据框?

python - 递归函数中数据库连接的最佳实践?

python - 如何从另一个蜘蛛启动 Scrapy 蜘蛛

python - 在django中下载和保存文档的问题

python-3.x - 我需要导入 src 库。我已经使用 pip install src 。但经常出现错误

python - 使用 PySpark 以 orc 格式写入大型数据帧时如何避免 OOM 问题?

pandas - 如何用零替换numpy数组中的inf

python - 为什么我的 python 脚本无法将函数导入为 : from functions import

python - 如何检查字符串中的字符是否在值字典中?

python-3.x - Pyramid , Dart ,setuptools