Pandas 如何标记熊猫中特定时间集的日期时间索引?
我有一个大的Pandas 如何标记熊猫中特定时间集的日期时间索引?,pandas,datetime,Pandas,Datetime,我有一个大的pandas数据框,其中有一个日期时间对象作为索引。所代表的每一天被分成5分钟的增量。索引采用YYYY-MM-DD 00:00:00格式 如何在上午10:00之前和下午2:00之后为所有内容创建标志 我尝试了以下方法: import pandas import numpy condition = [df.index() <= "10:00:00"] replace = 1 df['early_flag'] = np.select(condition, re
pandas
数据框,其中有一个日期时间对象作为索引。所代表的每一天被分成5分钟的增量。索引采用YYYY-MM-DD 00:00:00
格式
如何在上午10:00之前和下午2:00之后为所有内容创建标志
我尝试了以下方法:
import pandas
import numpy
condition = [df.index() <= "10:00:00"]
replace = 1
df['early_flag'] = np.select(condition, replace, default = 0)
我期待的结果是:
datetime id name Early_Flag
2004-04-01 09:45:00 5 bypedal 1
2004-04-01 09:50:00 5 bypedal 1
2004-04-01 09:55:00 5 bypedal 1
2004-04-01 10:00:00 5 bypedal 0
2004-04-01 10:05:00 5 bypedal 0
尝试使用datetime索引的
time
访问器+:
您能提供一些示例数据吗?
df.index
不可调用no()
在索引后添加数据示例。谢谢@HenryEcker。有没有办法做到这一点,多天有相同的时间?谢谢。最后一个问题…如果我想在半小时前得到它,比如10:30,那该怎么办?只需将比较时间更改为时间(10,30)
。
datetime id name Early_Flag
2004-04-01 09:45:00 5 bypedal 1
2004-04-01 09:50:00 5 bypedal 1
2004-04-01 09:55:00 5 bypedal 1
2004-04-01 10:00:00 5 bypedal 0
2004-04-01 10:05:00 5 bypedal 0
from datetime import time
import numpy as np
import pandas as pd
# modified sample data to demonstrate multiple days and both bounds
df = pd.DataFrame({
'datetime': ['2004-04-01 09:45:00', '2004-04-02 09:50:00',
'2004-04-03 09:55:00', '2004-04-04 10:00:00',
'2004-04-05 10:05:00', '2004-04-06 13:05:00',
'2004-04-07 14:00:00', '2004-04-07 14:00:01'],
'id': [5, 5, 5, 5, 5, 5, 5, 5],
'name': ['bypedal', 'bypedal', 'bypedal', 'bypedal', 'bypedal', 'bypedal',
'bypedal', 'bypedal']
})
df['datetime'] = pd.to_datetime(df['datetime'])
df = df.set_index('datetime')
df['Early_flag'] = np.where(
(df.index.time < time(10, 0)) | (df.index.time > time(14, 0)),
1,
0
)
print(df)