df.loc[ df["column_name"] == "some_value", "column_name" ] = "value"
some_value = 需要被替换的值 value = 应该被放置的值。
示例: 我们要把性别栏中的所有 “男性 “改为1。
import pandas as pd
import numpy as np
# data
data= {
'Name': ['John', 'Jay', 'sachin', 'Geetha', 'Amutha', 'ganesh'],
'gender': ['male', 'male', 'male', 'female', 'female', 'male'],
'math score': [50, 100, 70, 80, 75, 40],
'test preparation': ['none', 'completed', 'none', 'completed',
'completed', 'none'],
}
# 创建一个 Dataframe 对象
df = pd.DataFrame(data)
# 条件应用
df.loc[df["gender"] == "male", "gender"] = 1
输出:
df[“column_name”] = np.where(df[“column_name”]==”some_value”, value_if_true, value_if_false)
示例: 这个numpy.where()函数应该写上条件,如果条件为真,后面是值,如果条件为假,则是一个值。现在,我们要把性别栏中的所有 “女性 “改为0,”男性 “改为1。
import pandas as pd
import numpy as np
# data
data= {
'Name': ['John', 'Jay', 'sachin', 'Geetha', 'Amutha', 'ganesh'],
'gender': ['male', 'male', 'male', 'female', 'female', 'male'],
'math score': [50, 100, 70, 80, 75, 40],
'test preparation': ['none', 'completed', 'none', 'completed',
'completed', 'none'],
}
# 创建一个 Dataframe 对象
df = pd.DataFrame(data)
# 条件应用
df["gender"] = np.where(df["gender"] == "female", 0, 1)
输出:
df[‘column_name’].mask( df[‘column_name’] == ‘some_value’, value , inplace=True )
示例:
使用这个屏蔽条件,将性别栏中所有的 “女性 “改为0。
import pandas as pd
import numpy as np
# data
data= {
'Name': ['John', 'Jay', 'sachin', 'Geetha', 'Amutha', 'ganesh'],
'gender': ['male', 'male', 'male', 'female', 'female', 'male'],
'math score': [50, 100, 70, 80, 75, 40],
'test preparation': ['none', 'completed', 'none', 'completed',
'completed', 'none'],
}
# 创建一个 Dataframe 对象
df = pd.DataFrame(data)
# 条件应用 1
df['gender'].mask(df['gender'] == 'female', 0, inplace=True)
# 条件应用 2
#df['math score'].mask(df['math score'] >=60 ,'good', inplace=True)
输出:
语法 : data["列名"].mask(data.列名.str.contains(".*?某字符串"), "替换目标字符串", inplace=True)
import pandas as pd
import numpy as np
# data
data= {
'Name': ['John', 'Jay', 'sachin', 'Geetha', 'Amutha', 'ganesh'],
'gender': ['male', 'male', 'male', 'female', 'female', 'male'],
'math score': [50, 100, '良70', 80, '良75', 40],
'test preparation': ['none', 'completed', 'none', 'completed',
'completed', 'none'],
}
# 创建一个 Dataframe 对象
df = pd.DataFrame(data)
# 条件应用
data["math score"].mask(data.math score.str.contains(".*?良"), "良好", inplace=True)