транспонировать дату и время с меткой - PullRequest
1 голос
/ 04 октября 2019

Я хочу переместить эту дату-время в столбец с меткой (именем), связанной с временем в диапазоне. Затем в конечном итоге добавить их в таблицу 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.

1 Ответ

0 голосов
/ 04 октября 2019

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                  Bob
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...