我想将分钟列表添加datetime64
到新的 df 列中。
我尝试循环使用datetime.timedelta(minutes=x)
。for
但结果,它为我的所有行添加了一个常量值。我该如何解决这个问题?
for x in wait_min:
data['New_datetime'] = data['Date'] + datetime.timedelta(minutes=x)
我希望遍历列表并添加相应的分钟数,但这是为每一行添加一个 16 分钟的常量值。
我想将分钟列表添加datetime64
到新的 df 列中。
我尝试循环使用datetime.timedelta(minutes=x)
。for
但结果,它为我的所有行添加了一个常量值。我该如何解决这个问题?
for x in wait_min:
data['New_datetime'] = data['Date'] + datetime.timedelta(minutes=x)
我希望遍历列表并添加相应的分钟数,但这是为每一行添加一个 16 分钟的常量值。
让我们试试
data['Date'] + pd.to_timedelta(wait_min, unit='m')
以下更改对我有用:
for i, x in enumerate(wait_min):
data['New_Datetime'].iloc[i] = data['Date'].iloc[i] + datetime.timedelta(minutes=x)
可能不是最好的解决方案,但这适用于我正在尝试做的事情。
pandas
Series
如果它们具有相同的长度,则按元素求和。您需要做的就是创建一个Series
对象timedelta
。
因此,如果wait_min
分钟列表的长度等于数据框中的行数,则可以这样做:
data['New_datetime'] = data['Date'] + pd.Series([datetime.timedelta(minutes=x) for x in wait_min])