我有一个数据框(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将“时间”列转换为日期时间。
代码为:
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
我只想要具有datetime样式的时间,而不想要日期。 像这样:
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
所以我需要帮助。
答案 0 :(得分:4)
尝试
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)
答案 1 :(得分:0)
我应该在注释中写下这个答案,但是我找不到如何以正确的格式将代码粘贴到注释中。 我找到了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())