如何根据不同的列用NA填充名称

  • 本文关键字:NA 填充 何根 python pandas
  • 更新时间 :
  • 英文 :


如果第一列有NaN,如何用NaN填充第二列?

我试过这个

df1.type2.fillna(value=df1.type1, inplace=True)

输入

,type1,type2
2020-01-02 6:00,NaN,ABC
2020-01-02 12:00,NaN,DEF
2020-01-02 18:00,60,GHI

输出

,type1,type2
2020-01-02 6:00,NaN,NaN
2020-01-02 12:00,NaN,NaN
2020-01-02 18:00,60,GHI

DataFrame.locSeries.isna:一起使用

df.loc[df.type1.isna(), 'type2'] = np.nan

或默认值为NaNSeries.mask,因此无需设置:

df['type2'] = df['type2'].mask(df.type1.isna())
print (df)
type1 type2
2020-01-02 6:00     NaN   NaN
2020-01-02 12:00    NaN   NaN
2020-01-02 18:00   60.0   GHI

您也可以使用panda。DataFrame.where

>>> df.type2.where(df.type1.notna(),inplace=True)
>>> df
Unnamed: 0  type1 type2
0   2020-01-02 6:00    NaN   NaN
1  2020-01-02 12:00    NaN   NaN
2  2020-01-02 18:00   60.0   GHI

最新更新