当我们需要替换Pandas中列的值时,通常可以根据条件进行筛选,然后对筛选后的数据进行修改。
以下是使用 Pandas 在列中根据条件替换值的攻略:
步骤1:导入必要的库和数据
首先,我们需要导入Pandas库并读取一个数据集。在本示例中,我们将使用pandas内置数据集“titanic”。
import pandas as pd
# 读取内置数据集
df = pd.read_csv('https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv')
步骤2:筛选数据
在本例中,我们将筛选40岁以上的乘客。我们可以使用Pandas的索引功能来完成:
# 筛选40岁以上的乘客
df_filtered = df[df['Age'] >= 40]
步骤3:替换值
现在我们已经筛选出了满足条件的数据,接下来可以使用Pandas的.loc[]方法来替换一列中的值。在本示例中,我们将“Survived”列中的所有1替换为“生存”,用0替换为“遇难”。
# 替换“Survived”列中的值
df_filtered.loc[df_filtered['Survived'] == 1, 'Survived'] = '生存'
df_filtered.loc[df_filtered['Survived'] == 0, 'Survived'] = '遇难'
步骤4:最终结果
最后,我们来查看一下结果。我们可以使用Pandas的.head()方法来查看前几行数据。
# 查看结果
print(df_filtered.head())
输出结果为:
PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
3 4 遇难 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) 女性 35.0 1 0 113803 53.1000 C123 S
4 5 遇难 3 Allen, Mr. William Henry 男性 35.0 0 0 373450 8.0500 NaN S
7 8 遇难 3 Palsson, Master. Gosta Leonard 男性 2 1 349909 21.0750 NaN S
8 9 生存 3 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) 女性 27.0 0 2 347742 11.1333 NaN S
9 10 生存 2 Nasser, Mrs. Nicholas (Adele Achem) 女性 14.0 1 0 237736 30.0708 NaN C
我们可以看到,年龄大于等于40岁的乘客,其“Survived”列中的所有1都替换为“生存”,用0替换为“遇难”。我们还可以看到只有少数个别的$NaN$值。
这是在Pandas中根据条件替换列中的值的方法和示例。希望对您有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在Pandas中根据条件替换列中的值 - Python技术站