我是python和pandas的新手。 我在csv文件中有3列,列的数据类型是字符串。
例如
col1 col2 col3
ABC XYZ NaN
PQR LMN QPR
我正在使用pandas来读取csv文件。我想用左侧列单元格值替换NaN。在这里,我想用col2 1st值替换col3 1st值 所以输出就像
col1 col2 col3
ABC XYZ XYZ
PQR LMN QPR
请帮帮我。 感谢。
答案 0 :(得分:0)
您可以使用combine_first
或fillna
:
df['col3'] = df.col3.combine_first(df.col2)
print (df)
col1 col2 col3
0 ABC XYZ XYZ
1 PQR LMN QPR
或者:
df['col3'] = df.col3.fillna(df.col2)
print (df)
col1 col2 col3
0 ABC XYZ XYZ
1 PQR LMN QPR
如果您想要更具动感的内容,请使用last_valid_index
:
df['col3'] = df.apply(lambda x: x[x.last_valid_index()], axis=1)
print (df)
col1 col2 col3
0 ABC XYZ XYZ
1 PQR LMN QPR