问题描述
我的dtype: object
中有一个df
列,我想将值填写到空白单元格中。我的尝试都没有为我带来这份工作,包括df.fillna(method='ffill',inplace=True)
。
所以我要做的是将列转换为列表,创建了一个列表,并在其中填充了要填充的值,然后运行以下循环:
a = ['nan','nan','Loaded volume_Road','Loaded volume_Rail','nan']
Name = ["Loaded volume_Road","Loaded volume_Rail"]
for x in range(len(a)):
if a[x] not in Name:
a[x] = a[x-1]
print(a)
#output:
a = ['nan','Loaded volume_Rail']
然后我将列表值插入到我的列中,这基本上完成了工作。
但是后来我意识到我只需要填写以下5行的值:
#current output:
a = ['nan','Loaded volume_Rail']
#desired output:
a = ['nan','nan']
您有什么技巧来实现#desired output
吗?我的想法不多了:-(
非常感谢!
解决方法
尝试一下
indexes = [i for i in range(len(a)) if a[i] != 'nan']
for idx in indexes:
a[idx: idx + 6] = [a[idx]] * 6
print(a)
输出:
['nan','nan','Loaded volume_Road','Loaded volume_Rail','nan']