我有一个 Dataframe 与单列,并希望创建一个新的列称为'小时'的小时0 - 23,但每行。
当前:
AN_LOG_ID
00000001
00000002
00000003
预期输出:(0 - 23代表每行一天中的每小时)
AN_LOG_ID HOUR
00000001 0
00000001 1
... ...
00000001 23
00000002 0
00000002 1
... ...
00000002 23
00000003 0
00000003 1
... ...
00000003 23
4条答案
按热度按时间ttisahbt1#
首先将
range(24)
作为“HOUR”分配给每一行,然后分解“HOUR”列以将小时分布在其各自的行上。(ignore_index=True将生成索引0、1、2 ...)j5fpnvbx2#
我们可以使用
Index.repeat
,然后使用groupby.cumcount
来获得HOUR
列:bzzcjhmw3#
使用十字
merge
:输出:
bz4sfanl4#
基于
numpy
的另一种可能的解决方案是:输出: