问题:Python:在数据框中将timedelta转换为int
我想在pandas数据框中创建一个列,该列表示timedelta列中天数的整数。是否可以使用“ datetime.days”,还是我需要做更多手动操作?
timedelta列
7天23:29:00
天整数列
7
回答 0
回答 1
您可以这样做,td
您的一系列时间增量在哪里。该除法将纳秒增量转换为天增量,并且转换为int的时间减少为整天。
import numpy as np
(td / np.timedelta64(1, 'D')).astype(int)
回答 2
Timedelta对象具有只读实例属性.days
,.seconds
和.microseconds
。
回答 3
如果问题不仅仅在于“如何访问timedelta的整数形式?” 但是“如何将数据帧中的timedelta列转换为int?” 答案可能有所不同。除了访问.dt.days
器,您还需要df.astype
或者pd.to_numeric
这些选项中的任何一个都可以帮助:
df['tdColumn'] = pd.to_numeric(df['tdColumn'].dt.days, downcast='integer')
要么
df['tdColumn'] = df['tdColumn'].dt.days.astype('int16')
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。