gpt4 book ai didi

python - 如果 Python Pandas 中的值介于两次之间,则将 '1' 添加到单元格

转载 作者:行者123 更新时间:2023-12-04 21:28:48 26 4
gpt4 key购买 nike

我已将一个 Excel 文件导入到一个数据框中,该数据框中有一列名为“已打开”的列,其中包含打开某些内容的日期和时间。

我想有一个标记为“07:01 - 09:00”的新列,并且在该时间之间有一个打开时间的每一行我想在该列的同一行上添加一个“1”。

到目前为止我有这个

Opened                            
2020-04-14 14:45:58
2020-04-07 17:53:49
2020-04-07 07:10:14
2020-04-06 23:11:13


我想要的是
Opened                07:01 - 09:00              
2020-04-14 14:45:58
2020-04-07 17:53:49
2020-04-07 07:10:14 1
2020-04-06 23:11:13


因此,在列中指定的时间之间不包含时间的单元格将不会在单元格中获得“1”。

那些会的。

一些代码
import pandas as pd
data = pd.read_excel('opened.xlsx')
fmt = '%m/%d/%Y %H:%M:%S'

data['Opened'] = pd.to_datetime(data['Opened'],
format=fmt,
errors='coerce')



最佳答案

将日期设置为索引,并使用 pandas between_time获得你的值(value)观:

df = df.set_index('Opened')

df.loc[df.between_time('07:01','09:00').index, '07:01 - 09:00'] = 1


07:01 - 09:00
Opened
2020-04-14 14:45:58 NaN
2020-04-07 17:53:49 NaN
2020-04-07 07:10:14 1
2020-04-06 23:11:13 NaN

关于python - 如果 Python Pandas 中的值介于两次之间,则将 '1' 添加到单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61606572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com