如何在数据框中使用该数据框中另一列的值创建新列,但在1小时内



我有一个pandas数据框架,列:

  • ID
  • DateTime

我想在这个数据框中添加一个新列,容量在一小时内。例如,我有

ID Datetime           Capacity
1  20200101 12:23:10  435

所以在新列中,我想要记录ID=1和Datetime=13:23:10的容量

是否有一个语句来处理这个?

谢谢!

您可以将1 hour添加到原始列中,将HH:MM:SS转换为字符串,因此可以在boolean indexing中进行过滤:

Datetime = '13:23:10'
ID = 1
df['Datetime'] = pd.to_datetime(df['Datetime'])
df = df[(df['Datetime'] + pd.Timedelta('1H')).dt.strftime('%H:%M:%S').eq(Datetime) & df['ID'].eq(ID)]
print (df)
ID            Datetime  Capacity
0   1 2020-01-01 12:23:10       43