Pandas Period 到 to_timestamp 给我 TypeError

标签 pandas datetime period

我有一个格式如下所示的 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/

相关文章:

python - 使用 boolean 数组调用 iloc()

python - 如何从一组日期列中获取最大日期值

java - 如何使用 java.util.Date 解析夏令时切换期间发生的其他时区的日期

python - 通过多索引的子集从 pandas 中选择行

python - 如果特定列中存在重复值,则删除整行

python - 创建数据框中不存在的时间间隔

date - Period 中两个 ZonedDateTime 之间的差异

record - perf record -P 有什么作用?

python - 如何查明日期是否晚于期间结束

python - 使用 pandas 从 CSV 加载随机样本