gpt4 book ai didi

python - 将 Pandas 索引从整数格式更改为日期时间格式

转载 作者:行者123 更新时间:2023-11-28 20:35:32 24 4
gpt4 key购买 nike

我有一个巨大的 DataFrame,其中包含用于日期时间表示的整数形式的索引,例如,20171001。我要做的是将表单(例如 20171001)更改为日期时间格式 '2017-10-01'

为简单起见,我生成了这样一个数据框。

>>> df = pd.DataFrame(np.random.randn(3,2), columns=list('ab'), index=
[20171001,20171002,20171003])
>>> df
a b
20171001 2.205108 0.926963
20171002 1.104884 -0.445450
20171003 0.621504 -0.584352
>>> df.index
Int64Index([20171001, 20171002, 20171003], dtype='int64')

如果我们将“to_datetime”应用于 df.index,我们会得到奇怪的结果:

>>> pd.to_datetime(df.index)
DatetimeIndex(['1970-01-01 00:00:00.020171001',
'1970-01-01 00:00:00.020171002',
'1970-01-01 00:00:00.020171003'],
dtype='datetime64[ns]', freq=None)

我想要的是DatetimeIndex(['2017-10-01', '2017-10-02', '2017-10--3'], ...)我该如何解决这个问题?注意给出文件。

最佳答案

pd.to_datetime 中使用 format %Y%m%d

pd.to_datetime(df.index, format='%Y%m%d')
DatetimeIndex(['2017-10-01', '2017-10-02', '2017-10-03'], dtype='datetime64[ns]', freq=None)

分配df.index = pd.to_datetime(df.index, format='%Y%m%d')

关于python - 将 Pandas 索引从整数格式更改为日期时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46620502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com