根据第二列选择第一列中的值

2024-06-16 09:37:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些数据帧:

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

我想添加一个新列NEW,如果Food披萨的话,它选择Day,如果Food面食的话,它选择Time,例如:

enter image description here


Tags: 数据dataframedfnewtimefoodpdday
2条回答

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

我们使用np.where

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

相关问题 更多 >