如何将分钟添加到 Pandas 数据框中的 datetime64 对象

How to add minutes to datetime64 object in a Pandas Dataframe

我想将 datetime64 列的分钟列表添加到新的 df 列中。

我尝试在 for 循环中使用 datetime.timedelta(minutes=x)。但结果,它向我的所有行添加了一个常量值。我该如何解决?

for x in wait_min:
    data['New_datetime'] = data['Date'] + datetime.timedelta(minutes=x)

我希望遍历列表并添加相应的分钟数,但这会向每一行添加 16 分钟的常量值。

以下更改对我有用:

for i, x in enumerate(wait_min):
     data['New_Datetime'].iloc[i] = data['Date'].iloc[i] + datetime.timedelta(minutes=x)

可能不是最好的解决方案,但这对我想做的事情很有效。

pandas 对两个 Series 元素求和,如果它们具有相同的长度。您需要做的就是创建 Seriestimedelta 个对象。

因此,如果 wait_min 是一个长度等于数据帧中行数的分钟列表,则可以这样做:

data['New_datetime'] = data['Date'] + pd.Series([datetime.timedelta(minutes=x) for x in wait_min])

让我们试试

data['Date'] + pd.to_timedelta(wait_min, unit='m')