用标签转置日期时间

我希望将此日期时间转换为带有与范围内的时间相关联的标签(名称)的列。然后最终将它们添加到 sqlite 表中


我在这里搜索并尝试了一些建议,但我无法得到我正在寻找的东西


2019-10-2 鲍勃 2019-10-3 鲍勃 2019-10-4 鲍勃


from datetime import date,datetime

import pandas as pd

import sqlite3

import numpy as np

conn = 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 之间的日期范围。


猛跑小猪
浏览 106回答 1
1回答

摇曳的蔷薇

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 Name0 2019-10-02  Bob1 2019-10-03  Bob2 2019-10-04  Bob3 2019-10-05  Bob4 2019-10-06  Bob5 2019-10-07  Bob6 2019-10-08  Bob7 2019-10-09  Bob开transpose(注:T是 的别名tranpose())df.TOut[925]:                        0                    1                    2  \Date  2019-10-02 00:00:00  2019-10-03 00:00:00  2019-10-04 00:00:00Name  Bob                  Bob                  Bob                        3                    4                    5  \Date  2019-10-05 00:00:00  2019-10-06 00:00:00  2019-10-07 00:00:00Name  Bob                  Bob                  Bob                        6                    7Date  2019-10-08 00:00:00  2019-10-09 00:00:00Name  Bob                  Bob
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python