熊猫:如何设置具有增量值的列的值?

时间:2019-06-10 17:19:40

标签: python pandas

在列中设置值并为每次匹配增加值最简单的方法是什么?在下面的示例中,我想将第一个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

1 个答案:

答案 0 :(得分:2)

以您的情况

<a>