在列中设置值并为每次匹配增加值最简单的方法是什么?在下面的示例中,我想将第一个nan替换为21,将第二个nan替换为22,依此类推。目前,我是这样做的,但是我敢肯定有一种更有效的方法。
df = pd.DataFrame({'a': [0,np.nan, np.nan, np.nan],'b': [1,2,3,4]})
df
Out[29]:
a b
0 0.0 1
1 NaN 2
2 NaN 3
3 NaN 4
new_values = []
start_val = 21
for i in df['a']:
if np.isnan(i):
new_values.append(start_val)
start_val+=1
else:
new_values.append(i)
df['a'] = new_values
df
Out[30]:
a b
0 0.0 1
1 21.0 2
2 22.0 3
3 23.0 4
答案 0 :(得分:2)
以您的情况
<a>