我有一个Pandas Dataframe 列叫做"元素"。它的值中有长度为9或7的数字。 Dataframe 的第一行总是有9个数字,最后一行总是有7个数字。
示例:
{element:[120000000, 8000000, 120003000, 7000000, 120003333, 120003444, 5000000]
我想创建另一个名为"assigned"的列。该列必须赋值,从 Dataframe 的后面开始,从列"element"中获取7数值,直到它满足9数值。然后使用它上次使用的7数值,并转到一个新行开始使用下一个7数值。
下面是一个例子:
{element:[120000000, 8000000, 120003000, 7000000, 120003333, 120003444, 5000000]}
{assigned:[8000000, 8000000, 7000000, 7000000, 5000000, 5000000, 5000000]}
老实说,我卡住了,不知道该怎么做。
2条答案
按热度按时间bvjxkvbb1#
使用
Series.where
将100000000
等较大值替换为缺失值,然后回填下一个值,最后转换为整数:mwkjh3gx2#
一个选项是将
str.len
与bfill
一起使用:输出: