我希望将这个日期时间转置到一个列中,该列的标签(名称)与范围内的时间相关联。然后最终将它们添加到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之间的日期范围。
发布于 2019-10-04 05:59:09
IIUC,不要使用for-loop。试试这个:
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 Bobhttps://stackoverflow.com/questions/58227308
复制相似问题