我想用第一个非None值填充数据集的指定列。例如,给定df:
col_name
None
None
A
A
B
B
输出应该是:
col_name
A
A
A
A
B
B
对此有任何帮助,将非常感谢。 提前致谢。 卡罗
答案 0 :(得分:2)
df.update(df.col_name.iloc[:df.col_name.notnull().argmax() + 1].bfill())
df
col_name
0 A
1 A
2 A
3 A
4 B
5 B
相同的想法,但不同
i = df.col_name.notnull().argmax()
df.col_name.values[:i] = df.col_name.values[i]
如果None
值实际上是'None'
i = df.col_name.ne('None').argmax()
df.col_name.iloc[:i] = df.col_name.iloc[i]
答案 1 :(得分:0)
您可以通过dataframe.values变量将值转换为numpy数组,然后循环遍历它,与numpy.nan相比,将值设置为true
例如
colName = df [' col_name']。值
colName [numpy.isnan(colName)] =' A'