📜  pandas dataframe 将 yes no 转换为 0 1 - Python (1)

📅  最后修改于: 2023-12-03 15:33:23.461000             🧑  作者: Mango

Pandas DataFrame将"YES" / "NO"转换为1/0 - Python

在数据分析和处理中,常常遇到"YES"和"NO"等文本类型数据需要转换为数值类型数据。这时候我们可以使用Python中的Pandas库来快速地进行数据转换。在本教程中,我们将讲解如何将Pandas DataFrame中的"YES"和"NO"列转换为1和0。

示例数据

我们创建一个示例DataFrame,其中包含一列是"YES"和"NO"。

import pandas as pd

df = pd.DataFrame({
    "Name": ["Alice", "Bob", "Charlie", "David"],
    "Age": [25, 30, 35, 40],
    "Have_Pet": ["YES", "NO", "NO", "YES"]
})

print(df)

输出数据如下:

      Name  Age Have_Pet
0    Alice   25      YES
1      Bob   30       NO
2  Charlie   35       NO
3    David   40      YES
使用map方法转换

使用Pandas的map()方法,我们可以创建一个映射字典将"YES"和"NO"转换为1和0。

# 创建映射字典
yes_no_map = {"YES": 1, "NO": 0}

# 使用map方法转换
df["Have_Pet"] = df["Have_Pet"].map(yes_no_map)

print(df)

输出数据如下:

      Name  Age  Have_Pet
0    Alice   25         1
1      Bob   30         0
2  Charlie   35         0
3    David   40         1
使用replace方法转换

使用Pandas的replace()方法也可以实现同样的效果。

# 使用replace方法转换
df["Have_Pet"].replace({"YES": 1, "NO": 0}, inplace=True)

print(df)

输出数据和上述代码一致。

结论

在数据分析中,我们常常需要将文本类型数据转换为数值类型数据,以便进一步的数据分析和处理。通过本教程中的示例,我们可以看到如何使用Python中的Pandas库来快速地将DataFrame中的"YES"和"NO"列转换为1和0。