Панды pd.to_datetime только держать время не дата - PullRequest
1 голос
/ 29 июня 2019

У меня есть фрейм данных (Pandas) со столбцом, представляющим даты, в следующем формате:

import pandas as pd
import tushare as ts

data = ts.get_tick_data('600030',date='2019-06-28',src='tt') [['time','price','change','volume','amount']]
print(data.head())

В частности, я хотел бы использовать pd.to_datetime для преобразования столбца 'time' в datetime.

Код:

  import pandas as pd
  import tushare as ts

  data = ts.get_tick_data('600030',date='2019-06-28',src='tt') [['time','price','change','volume','amount']]
  data.index=pd.to_datetime(data['time'])
  del data['time']
  print(data.head())

Результаты следующие:

                           price  change  volume    amount
   time                                                
   2019-06-29 09:25:04  23.85   -0.07    6825  16279485
   2019-06-29 09:30:02  23.85    0.00    2736   6529832
   2019-06-29 09:30:05  23.85    0.00    3964   9459955
   2019-06-29 09:30:08  23.85    0.00     665   1585346
   2019-06-29 09:30:11  23.87    0.02     348    830136

Я хочу только время со стилем даты и времени, но не дату. Как это:

          price  change  volume    amount
time                                     
09:25:04  23.85   -0.07    6825  16279485
09:30:02  23.85    0.00    2736   6529832
09:30:05  23.85    0.00    3964   9459955
09:30:08  23.85    0.00     665   1585346
09:30:11  23.87    0.02     348    830136

Так что мне нужна помощь.

Ответы [ 2 ]

4 голосов
/ 29 июня 2019

попробуйте

df = pd.DataFrame(data={'date':['2019-06-29 09:25:04','2019-06-29 09:30:02'],
                       'col2':[2,3]})

df['time'] = pd.to_datetime(df['date']).dt.time

, если вы хотите сделать это индексом, просто сделайте

df.set_index('time',inplace=True)
0 голосов
/ 29 июня 2019

Я должен написать этот ответ в комментарии, но не могу найти, как вставить свой код в комментарий в правильном формате. Я нахожу ответ от Google, некоторые люди говорят мне так: https://meta.stackexchange.com/questions/74784/how-do-i-add-code-while-writing-comments

Это совершенно не для меня, почему веб-сайт STACK OVERFLOW не может делать так: я могу написать свой ответ с кодом одновременно.

Поэтому я должен вставить свой код в правильном формате в область ответа на мой вопрос:

Спасибо за @ tawab_shakeel, с его помощью я решаю эту проблему. Код следующий:

import pandas as pd
import tushare as ts

data = ts.get_tick_data('600030',date='2019-06-28',src='tt'[['time','price','change','volume','amount']]
data.set_index(data['time'],inplace=True)
data.index=pd.to_datetime(data['time']).dt.time
del data['time']

# data = pd.DataFrame(data={'date':['2019-06-29 09:25:04','2019-06-29 09:30:02'],
#                        'col2':[2,3]})

# data['time'] = pd.to_datetime(data['date']).dt.time

print(data.head())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...