首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用标签转置datetime

使用标签转置datetime
EN

Stack Overflow用户
提问于 2019-10-04 05:47:22
回答 1查看 29关注 0票数 1

我希望将这个日期时间转置到一个列中,该列的标签(名称)与范围内的时间相关联。然后最终将它们添加到sqlite表中。

我已经搜索并尝试了这里的一些建议,但我没有得到我想要的

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

代码语言:javascript
复制
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之间的日期范围。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-04 05:59:09

IIUC,不要使用for-loop。试试这个:

代码语言:javascript
复制
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上(注意:Ttranpose()的别名)

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58227308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档