numpy 如何在pandas DataFrame中使用项目的属性

2ekbmq32  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(137)

我需要访问DataFrame中项目的属性。以下是我到目前为止得到的:

import pandas as pd
import numpy as np

index = [0, 1]
df = pd.DataFrame(columns=['time', 'timedelta'], index=index)
df.time = pd.Timestamp('2022-04-07 22:10:00'), pd.Timestamp('2022-04-07 22:11:00')
df.timedelta = np.timedelta64(df.time[0].hour), np.timedelta64(df.time[1].hour)
print(df.timedelta)

字符串
但是我需要把转换到timedelta的过程放大。我不能再通过它的索引来调用它了。
我试探着:

import pandas as pd
import numpy as np

index = [0, 1]
df = pd.DataFrame(columns=['time', 'timedelta'], index=index)
df.time = pd.Timestamp('2022-04-07 22:10:00'), pd.Timestamp('2022-04-07 22:11:00')
df.timedelta = np.timedelta64(df.time.hour)
print(df)


我得到以下错误消息:error message
但我不能让它工作。

cgfeq70w

cgfeq70w1#

另一种解决方案是直接使用pd.to_timedelta,注意你需要使用.dt方法来访问日期时间属性:

pd.to_timedelta(df['time'].dt.hour, unit='h')

字符串
输出量:

0   0 days 22:00:00
1   0 days 22:00:00
Name: time, dtype: timedelta64[ns]

相关问题