我有一个格式如下所示的 Pandas Dataframe:
Month Count
2021-02 100
2021-03 200
其中“月份”列是使用 dt.to_period('M') 从时间戳中获取的。
现在我必须将这个“月份”列转换为财政季度,并且我已经使用一些方法使用“to_timestamp”将期间转换为“日期时间”对象,但我得到了错误
TypeError: unsupported Type Int64Index
还有其他方法可以解决这个问题吗?
最佳答案
如果使用列,则需要添加 .dt
。如果省略它,Pandas 会尝试转换 DatetimeIndex
,如果它不存在,则会引发错误,因为它调用了 DataFrame.to_timestamp
而不是 Series.dt.to_timestamp
:
df['Date'] = df['Month'].to_timestamp()
TypeError: unsupported Type RangeIndex
df['Date'] = df['Month'].dt.to_timestamp()
print (df)
Month Count Date
0 2021-02 100 2021-02-01
1 2021-03 200 2021-03-01
财政季度的解决方案是使用 Series.dt.qyear
.更好的文档是 here :
df['fquarter'] = df['Month'].dt.qyear
print (df)
Month Count fquarter
0 2021-02 100 2021
1 2021-03 200 2021
关于Pandas Period 到 to_timestamp 给我 TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68296206/