python where语句_Python:带if语句的numpy where命令

我有一个数据框df,其中包含一列日期格式为“ 2011-12-13”的日期和一列时间,再次为字符串格式,如“ 15:40:00”.

df

index date time

2011-01-03 09:40:00 2011-01-03 09:40:00

2011-01-03 09:45:00 2011-01-03 09:45:00

2011-01-03 09:50:00 2011-01-03 09:50:00

2011-01-03 09:55:00 2011-01-03 09:55:00

2011-01-03 10:00:00 2011-01-03 10:00:00

2011-01-03 10:05:00 2011-01-03 10:05:00

我的目标是在数据框中创建一个列F0,如果日期属于这些日期中的任何一个,则F0 = 1(‘2011-01-26′,’2011-03-15′,’2011-08-09′,’ 2011-09-21”,“ 2011-12-13”)以及时间=’9:40:00′.

我正在尝试使用numpy函数,如下所示:

dates = ['2011-01-26','2011-03-15', '2011-08-09', '2011-09-21', '2011-12-13']

df['F1'] = np.where((df.date == any(dates) & (df.time== '9:40:00'), 1, 0))

我收到此错误:

ValueError:系列的真值不明确.使用a.empty,a.bool(),a.item(),a.any()或a.all().为什么?我不知道如何正确使用任何功能.

我想为其他时间间隔创建F2,F3等多个列:

df [‘F77′] = np.where((df.date == any(dates)&(df.time == ’16:00:00’),1,0))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值