【问题标题】:Change UInt32 to int64 for dt.isocalendar().week calculations将 UInt32 更改为 int64 以进行 dt.isocalendar().week 计算
【发布时间】:2020-12-17 10:30:21
【问题描述】:

对于我曾经通过以下代码计算周数的数据科学项目:

df['Week_Nr'] = df['Date'].dt.week

由于这个功能现在被贬值了,所以我改为

df['Week_Nr'] = df['Date'].dt.isocalendar().week

然而我的输出曾经是 int64,现在是 UInt32

这导致以下计算出错:“ValueError: DataFrame.dtypes for data must be int, float or bool.Did not expect the data types in fields Week_Nr”

所以我的问题是如何修改 isocalendar().week 以给我一个 int64 输出或如何将列转换为 int64,因为我没有成功找到正确的代码。 此代码不起作用:df['Week_Nr'] = pd.to_numeric(df['Week_Nr'],errors='coerce')

【问题讨论】:

    标签: python python-3.x pandas dataframe integer


    【解决方案1】:

    试试 .astype(numpy.int64) 或 .astype("int64")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-19
      • 2013-01-06
      • 1970-01-01
      • 2014-08-20
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多