python - 仅在 Dataframe Pandas 中添加带有时间的新列
问题描述
所以我有这个从网站上抓取的数据框。我想要实现的是添加一个新列,其中只有时间作为 HH:mm 每次它抓取新数据时。但是我使用的代码给出了数据和时间
import pandas as pd
data = {'Name':['Tom', 'nick', 'krish', 'jack','Rick', 'John'],
'Age':[20, 21, 19, 18, 26, 23]}
df = pd.DataFrame(data)
df['time'] = pd.date_range('11/5/2020', periods = 6, freq ='2H')
df
我拥有的数据:
Name Age time
0 Tom 20 2020-11-05 01:00:00
1 nick 21 2020-11-05 01:00:00
2 krish 19 2020-11-05 01:00:00
3 jack 18 2020-11-05 01:00:00
4 Rick 26 2020-11-05 01:00:00
5 John 23 2020-11-05 01:00:00
我想要的结果
Name Age time
0 Tom 20 01:00
1 nick 21 01:00
2 krish 19 01:00
3 jack 18 01:00
4 Rick 26 01:00
5 John 23 01:00
由于数据每 15 分钟被抓取一次,我想将新数据随时间附加到它,而无需再次添加标题,如下所示:
Name Age time
0 Tom 20 01:00
1 nick 21 01:00
2 krish 19 01:00
3 jack 18 01:00
4 Rick 26 01:00
5 John 23 01:00
0 Tom 20 01:15
1 nick 21 01:15
2 krish 19 01:15
3 jack 18 01:15
4 Rick 26 01:15
5 John 23 01:15
解决方案
如果我理解正确,这就是您想要的。
lst_date_range = pd.date_range('11/5/2020', periods = 6, freq ='2H')
df['time'] = [date_time.strftime("%H:%M") for date_time in lst_date_range]
通过使用.strftime("%H:%M")可以只选择小时和分钟。
从
Name Age time
0 Tom 20 2020-11-05 01:00:00
到
Name Age time
0 Tom 20 01:00
但我不明白你要求附加什么而不需要添加标题,如果你需要帮助,请在这里解释更多。
推荐阅读
- reactjs - 从 mongoDB、setstate 获取数据并将 props 传递给子组件不起作用
- php - laravel 的控制器内部是否需要 try catch 块?
- c++ - Qt将鼠标位置写入文件
- python - TypeError: 不支持的操作数类型 /: 'float' 和 'Dimension',请使用 // 代替
- google-sheets - 如何仅使用值查询值和过滤数据?
- python - 列表理解中的多个 if 和 for 循环
- python - Gensim LDA 连贯性得分 Nan
- opencv - 涉及到人脸识别和人脸检测问题?
- xpath - 使链接描述指向 IMPORTXML 语句中的链接引用
- amazon-web-services - 无法验证来自 AWS ALB 身份验证的 JWT