如何在Python中的if-else条件中创建新列
这是我的数据帧。我想创建一个名为如何在Python中的if-else条件中创建新列,python,pandas,dataframe,Python,Pandas,Dataframe,这是我的数据帧。我想创建一个名为mpg\u high 该列的条件为: mpg\u high=1ifmpg>average mpg(这是我放置的平均mpgnp.mean(df.mpg)else=0) 我尝试了各种方法,但总是出现语法错误。我该怎么做 提前感谢您可以使用np.where: df['mpg_high'] = np.where(df.mpg > np.mean(df.mpg), 1, 0) 它可以简化为直接二进制比较,并转换为int df = pd.DataFrame({&qu
mpg\u high
该列的条件为:
mpg\u high=1
ifmpg>average mpg
(这是我放置的平均mpgnp.mean(df.mpg)else=0
)
我尝试了各种方法,但总是出现语法错误。我该怎么做
提前感谢您可以使用
np.where
:
df['mpg_high'] = np.where(df.mpg > np.mean(df.mpg), 1, 0)
它可以简化为直接二进制比较,并转换为int
df = pd.DataFrame({"mgp":np.random.randint(15,35, 50)})
df["mgp_high"] = df["mgp"].gt(df["mgp"].mean()).astype(int)