为了账号安全,请及时绑定邮箱和手机立即绑定

用标签转置日期时间

用标签转置日期时间

猛跑小猪 2022-06-14 15:10:42
我希望将此日期时间转换为带有与范围内的时间相关联的标签(名称)的列。然后最终将它们添加到 sqlite 表中我在这里搜索并尝试了一些建议,但我无法得到我正在寻找的东西2019-10-2 鲍勃 2019-10-3 鲍勃 2019-10-4 鲍勃from datetime import date,datetimeimport pandas as pdimport sqlite3import numpy as npconn = sqlite3.connect('data.db')name = 'Bob'startDate = pd.to_datetime(str('10/02/2019'))endDate = pd.to_datetime(str('10/09/2019'))d=pd.date_range(start=startDate, end=endDate)for i in d:    df=pd.DataFrame({'Date':[i], 'Name':[name]})df.transpose()print(df)我在一个名称的列中只得到一个日期,而不是 startDate 和 endDate 之间的日期范围。
查看完整描述

1 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

IIUC,不要使用 for 循环。尝试这个:


name = 'Bob'

startDate = pd.to_datetime(str('10/02/2019'))

endDate = pd.to_datetime(str('10/09/2019'))

d=pd.date_range(start=startDate, end=endDate)


df=pd.DataFrame({'Date':d, 'Name':[name]*len(d)})


Out[918]:

        Date Name

0 2019-10-02  Bob

1 2019-10-03  Bob

2 2019-10-04  Bob

3 2019-10-05  Bob

4 2019-10-06  Bob

5 2019-10-07  Bob

6 2019-10-08  Bob

7 2019-10-09  Bob

开transpose(注:T是 的别名tranpose())


df.T


Out[925]:

                        0                    1                    2  \

Date  2019-10-02 00:00:00  2019-10-03 00:00:00  2019-10-04 00:00:00

Name  Bob                  Bob                  Bob


                        3                    4                    5  \

Date  2019-10-05 00:00:00  2019-10-06 00:00:00  2019-10-07 00:00:00

Name  Bob                  Bob                  Bob


                        6                    7

Date  2019-10-08 00:00:00  2019-10-09 00:00:00

Name  Bob                  Bob


查看完整回答
反对 回复 2022-06-14
  • 1 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信