我有一个如下所示的数据框:
数据框:
name date type
apple 2018-01-01 00:00:00 a
banana 2018-08-18 00:00:00 b
如何根据其他列的多个条件创建具有特定值的新列?
例如:
name
列等于
apple
date
列等于
today
type
列等于
a
然后新建列
id
等于
1
.
如果
名称
banana
,和
日期
今天
,和
类型
列等于
b
身份证件
等于
2
新的df将如下所示:
name date type id
banana 2018-08-18 00:00:00 b 2
我希望能够添加更多的基于列值的子句,这些列值稍后在df中,因此寻找一种可伸缩的方法。
目前,我可以使用一个类似so的列和一个条件来完成此操作:
df.loc[df['name'].str.contains("Apple"),'id'] = 1
提前谢谢你。
编辑:
new_df=df[((df['name'].str.contains('apple'))&(df['type'].str.contains('a'))&((df['date']=today))]