首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Pandas中将列转换为DateTime后更改格式

如何在Pandas中将列转换为DateTime后更改格式
EN

Stack Overflow用户
提问于 2021-04-13 08:29:26
回答 1查看 37关注 0票数 0

我有以下数据,请参阅附件中的输出:

代码语言:javascript
复制
Currency    Date    Closing Price (USD) 24h Open (USD)  24h High (USD)  24h Low 
0   BTC 01/10/2013        123.65          124.30          124.75        122.56
1   BTC 02/10/2013        125.46          123.65          125.76        123.63
2   BTC 03/10/2013        108.58          125.46          125.67         83.33
3   BTC 04/10/2013        118.67          108.58          118.68        107.06
4   BTC 05/10/2013        121.34          118.67          121.94        118.01
... ... ... ... ... ... ...
273 BTC 08/04/2021       56508.94       58030.62        58645.77        55541.91
273 BTC 09/04/2021       57880.91       55996.08        58179.66        55758.49
273 BTC 10/04/2021       58171.91       58094.74        58880.82        57717.86
273 BTC 11/04/2021       59295.95       58149.65        61065.22        57924.08
273 BTC 12/04/2021       59822.90       59765.10        60588.47        59229.86

由于我需要提取月份并使用"Date“列数据创建一些groupby,所以我将其转换为datetime,请参阅附加的代码:

代码语言:javascript
复制
#datatime format
btc_df['Date'] = pd.to_datetime(btc_df['Date'])

这样做之后,熊猫就会把日期栏读成yyyy。这是一个问题,因为正如您可以想象的那样,数据没有得到正确的处理。请再次参见输出:

代码语言:javascript
复制
Currency    Date    Closing Price (USD) 24h Open (USD)  24h High (USD)  24h Low 
0   BTC 2013/01/10        123.65          124.30          124.75        122.56
1   BTC 2013/02/10        125.46          123.65          125.76        123.63
2   BTC 2013/03/10        108.58          125.46          125.67         83.33
3   BTC 2013/04/10        118.67          108.58          118.68        107.06
4   BTC 2013/05/10        121.34          118.67          121.94        118.01
... ... ... ... ... ... ...
273 BTC 2021/08/04       56508.94       58030.62        58645.77        55541.91
273 BTC 2021/09/04       57880.91       55996.08        58179.66        55758.49
273 BTC 2021/10/04       58171.91       58094.74        58880.82        57717.86
273 BTC 2021/11/04       59295.95       58149.65        61065.22        57924.08
273 BTC 2021/12/04       59822.90       59765.10        60588.47        59229.86

为了改变这个问题,我尝试了以下代码:

代码语言:javascript
复制
btc_df['Date'] = btc_df['Date'].dt.strftime('%Y/%m/%d')

但是,当我运行这段代码时,我会得到以下错误:

AttributeError:只能对datetimelike值使用.dt访问器

谁能解释一下为什么我要得到这个日期格式,以及如何修复它?我希望把我所有的数据正确地分配给每一天和每个月,而不是像现在这样。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-04-13 08:42:05

函数pd.to_datetime可以接收参数format以指定所需的日期格式:

代码语言:javascript
复制
btc_df['Date'] = pd.to_datetime(btc_df['Date'], format="%d/%m/%Y")

您可以检查https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.to_datetime.html中的所有参数

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67071286

复制
相关文章

相似问题

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