如何将 Dataframe 的所有 Series 值从 timedelta 转换为分钟
How to convert all Series values of a Dataframe from timedelta to minutes
我有这个数据框,其中每个值的类型都是 timedelta:
并且我想将所有值转换为分钟,但是在编码时:
df['time'] = df['time'].seconds/60
我收到以下错误:
AttributeError: 'Series' object has no attribute 'seconds'
如何以简单的方式转换列的每个值?
谢谢。
使用.dt.total_seconds()
代替.seconds
:
df['time'] = df['time'].dt.total_seconds() / 60
当你有一个 DatetimeIndex
系列时,你可以访问一个特殊的访问器 dt
,它给你一些属性和方法:
df['min'] = df['time'].dt.total_seconds().div(60)
print(df)
# Output
time min
0 0 days 00:53:00 53.0
1 0 days 00:45:00 45.0
设置:
df = pd.DataFrame({'time': [pd.Timedelta('0 days 00:53:00'),
pd.Timedelta('0 days 00:45:00')]})
我有这个数据框,其中每个值的类型都是 timedelta:
并且我想将所有值转换为分钟,但是在编码时:
df['time'] = df['time'].seconds/60
我收到以下错误:
AttributeError: 'Series' object has no attribute 'seconds'
如何以简单的方式转换列的每个值?
谢谢。
使用.dt.total_seconds()
代替.seconds
:
df['time'] = df['time'].dt.total_seconds() / 60
当你有一个 DatetimeIndex
系列时,你可以访问一个特殊的访问器 dt
,它给你一些属性和方法:
df['min'] = df['time'].dt.total_seconds().div(60)
print(df)
# Output
time min
0 0 days 00:53:00 53.0
1 0 days 00:45:00 45.0
设置:
df = pd.DataFrame({'time': [pd.Timedelta('0 days 00:53:00'),
pd.Timedelta('0 days 00:45:00')]})