如何在pandas中将日期索引拆分为单独的日、月、年列

csbfibhn  于 2023-05-27  发布在  其他
关注(0)|答案(4)|浏览(162)

我有一个数据集df1

我之前做了一个列和索引转置:

df1 = df.T

数据集df以前看起来像这样:

我已经使用.to_datetime函数来转换我的日期:

df1.index = pd.to_datetime(df1.index).strftime('%Y-%m')

我如何拆分我的日期索引并将它们添加到表右侧的新的“年”和“月”列中?
我试过:

df1['month'] = df.index.month
df1['year'] = df.index.year

但是,它返回以下错误:
属性错误:“Index”对象没有属性“day”
这实际上是here之前提出的另一个问题的后续
我无法在那里添加评论,因为我是一个新的帐户保持器堆栈溢出。
谢谢大家,我是新手,请多多包涵。

zbq4xfa0

zbq4xfa01#

试试这个

df.index = pd.to_datetime(df.index)
df['day'] = df.index.day
df['month'] = df.index.month
df['year'] = df.index.year
h43kikqp

h43kikqp2#

如果你的日期是索引,那么你的代码应该已经工作了。但是,如果日期在日期列中,请尝试:

df['day'] = df.date.dt.day
df['month'] = df.date.dt.month
df['year'] = df.date.dt.year
osh3o9ms

osh3o9ms3#

import calendar as cal
import locale

df.Dates = pd.to_datetime(df.Dates)

df['Year'] = df.Dates.dt.year
df['Month'] = df.Dates.dt.month_name()
df['Day'] = df.Dates.dt.day
dfddblmv

dfddblmv4#

试试这个:

df['time'] = pd.to_datetime(df['time'])
    df['Which Day'] = df['time'].dt.day_name()
    df['Year'] = df['time'].dt.year
    df['Month'] = df['time'].dt.month_name())

相关问题