在python上使用几个if条件在数据帧上创建列
我有一个df,我想根据名为“地板面积”的其他df列的几个条件添加一列“太阳能电池板面积”。 条件是:在python上使用几个if条件在数据帧上创建列,python,dataframe,if-statement,conditional-statements,Python,Dataframe,If Statement,Conditional Statements,我有一个df,我想根据名为“地板面积”的其他df列的几个条件添加一列“太阳能电池板面积”。 条件是: 建筑面积
- 建筑面积<100返回4
- 100对于Python中的单行程序条件,
不起作用 有两种方法可以创建新列elif
- 如果有的话,用一个衬里梯子。(当您只有一定数量的条件时,这是可以的)
df[“太阳能电池板面积”]=[ 4如果x<100 如果x<200,则为6 如果x<300,则为8 其他12 对于df中的x[“楼层面积”] ]
- 创建函数并使用
def太阳能电池板面积(地板面积): 如果楼层面积<100: 返回4 elif楼层面积<200: 返回6 楼层面积
import pandas as pd data = {'id': ['B100'], 'floor_area': [20]} df =pd.DataFrame(data)
df['solar_panel_area']= [4 if x<100 else 12 for x in(df['floor_area'])] df id floor_area solar_panel_area 0 B100 20 4
def fn(x): if x < 100: return 4 if 100 < x < 200: return 6 if 200 < x < 300: return 8 return 12 df["solar_panel_area"] = df["floor_area"].apply(fn) print(df)