我有以下数据,请参阅附件中的输出:
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,请参阅附加的代码:
#datatime format
btc_df['Date'] = pd.to_datetime(btc_df['Date'])这样做之后,熊猫就会把日期栏读成yyyy。这是一个问题,因为正如您可以想象的那样,数据没有得到正确的处理。请再次参见输出:
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为了改变这个问题,我尝试了以下代码:
btc_df['Date'] = btc_df['Date'].dt.strftime('%Y/%m/%d')但是,当我运行这段代码时,我会得到以下错误:
AttributeError:只能对datetimelike值使用.dt访问器
谁能解释一下为什么我要得到这个日期格式,以及如何修复它?我希望把我所有的数据正确地分配给每一天和每个月,而不是像现在这样。
谢谢!
发布于 2021-04-13 08:42:05
函数pd.to_datetime可以接收参数format以指定所需的日期格式:
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中的所有参数
https://stackoverflow.com/questions/67071286
复制相似问题