首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandas pd.to_datetime只保留时间而不是日期

Pandas pd.to_datetime只保留时间而不是日期
EN

Stack Overflow用户
提问于 2019-06-29 18:36:02
回答 2查看 7.7K关注 0票数 5

我有一个dataframe(Pandas),它有一个表示日期的列,格式如下:

代码语言:javascript
复制
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。

代码是:

代码语言:javascript
复制
  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())

结果如下:

代码语言:javascript
复制
                           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样式的时间,但不想要日期。如下所示:

代码语言:javascript
复制
          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

所以我需要帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-29 18:46:14

尝尝这个

代码语言:javascript
复制
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

如果您想将其作为索引,那么只需这样做

代码语言:javascript
复制
df.set_index('time',inplace=True)
票数 8
EN

Stack Overflow用户

发布于 2019-06-29 21:09:45

我应该在评论中写下这个答案,但我找不到如何将我的代码以适当的格式粘贴到评论中。我通过谷歌找到了答案,有些人这样告诉我:https://meta.stackexchange.com/questions/74784/how-do-i-add-code-while-writing-comments

我很难理解为什么堆栈溢出网站不能这样做:我可以同时用代码写我的答案。

所以我必须将我的代码以正确的格式粘贴到回答我的问题区域:

谢谢你的@tawab_shakeel,在他的帮助下我解决了这个问题。代码如下:

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

https://stackoverflow.com/questions/56816833

复制
相关文章

相似问题

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