我的df时间索引的结构如下:
Sensor UnitNo
Time
2016-07-28 18:34:44 19.0 1.0
2016-07-28 19:27:39 19.0 1.0
2016-07-20 20:45:39 19.0 1.0
2016-07-20 23:05:29 19.0 1.0
2016-07-21 01:23:30 19.0 1.0
...
我想用带有时间索引和布尔列的系列对此df进行子集化:
Time
2016-07-28 False
2016-07-21 False
2016-07-20 True
我想为系列中True
日期的原始df进行子集化:
Sensor UnitNo
Time
2016-07-20 20:45:39 19.0 1.0
2016-07-20 23:05:29 19.0 1.0
更新 道歉,当我第一次问这个问题时,我认为我可以很容易地将系列转换成一个列表,但我发现这个问题有几个原因。所以,我更新了上面的问题,以便类似于我的数据的当前状态。任何帮助,将不胜感激!提前谢谢。
答案 0 :(得分:0)
尝试str.contains
List=['2016-07-28','2016-07-20']
List1=('|'.join(List))
df[df.index.to_series().str.contains(List1)]
Sensor UnitNo
Time
2016-07-28 18:34:44 19 1
2016-07-28 19:27:39 19 1
2016-07-20 20:45:39 19 1
2016-07-20 23:05:29 19 1
答案 1 :(得分:0)
使用.loc
df.loc[['2016-07-28', '2016-07-20'],:]
更新
如果直接使用布尔值Series
作为Dataframe
的布尔索引,它是否有用?
df.loc[bool_series, :]