根据第二列选择列中的值

时间:2019-11-19 02:20:59

标签: python pandas

我有一些DataFrame:

df = pd.DataFrame({'Food': ['pizza', 'pasta', 'pizza'], 'Day': [3, 4, 5], 'Time': [8,9,10]})

我想添加一个新列NEW,如果Day pizza ,则选择Food,如果TimeFood {{1}}是 pasta ,例如:

enter image description here

2 个答案:

答案 0 :(得分:2)

我们使用np.where

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

答案 1 :(得分:1)

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