Python 根据第二列选择“列中的值”

Python 根据第二列选择“列中的值”,python,pandas,Python,Pandas,我有一些数据帧: df = pd.DataFrame({'Food': ['pizza', 'pasta', 'pizza'], 'Day': [3, 4, 5], 'Time': [8,9,10]}) 我想添加一个新列,new,如果食品是比萨饼,则选择日期,如果食品是意大利面,则选择时间,例如: 我们使用np.where df['New']=np.where(df.Food=='pizza',df.Day,df.Time) 我们使用np.where df['New']=np.where(d

我有一些数据帧:

df = pd.DataFrame({'Food': ['pizza', 'pasta', 'pizza'], 'Day': [3, 4, 5], 'Time': [8,9,10]})
我想添加一个新列,
new
,如果
食品是比萨饼,则选择
日期
,如果
食品
是意大利面,则选择
时间
,例如:


我们使用
np.where

df['New']=np.where(df.Food=='pizza',df.Day,df.Time)

我们使用
np.where

df['New']=np.where(df.Food=='pizza',df.Day,df.Time)
loc

df['NEW'] = df['Day']
df.loc[df['Food'].eq('pasta'), 'NEW'] = df['Time']
print(df)
输出:

   Day   Food  Time  NEW
0    3  pizza     8    3
1    4  pasta     9    9
2    5  pizza    10    5
loc

df['NEW'] = df['Day']
df.loc[df['Food'].eq('pasta'), 'NEW'] = df['Time']
print(df)
输出:

   Day   Food  Time  NEW
0    3  pizza     8    3
1    4  pasta     9    9
2    5  pizza    10    5

如果
食物
两者都不是会怎么样?那么我就饿了:(如果
食物
两者都不是会怎么样?那么我就饿了:(啊,打我一秒钟。)+1@TipsyHyena和np核实一下。selectAh比我快了一秒钟+1@TipsyHyena使用np.select进行检查