pandas 中dataframe 选择列后 fillna() 使用inplace参数

农飞尘
2023-12-01

pandas 中dataframe 选择列后 fillna() 使用inplace参数,不改变源数据。

df4=pd.DataFrame(data=np.arange(0,20).reshape(5,4),columns=['c1','c2','c3','c4'],index=range(0,5))
df4.loc[2,'c2']=np.nan
df4

df4为

    c1	 c2	 	c3	 c4
0	0	1.0		 2	 3
1	4	5.0		 6	7
2	8	NaN		10	11
3	12	13.0	14	15
4	16	17.0	18	19

举例,

df4[['c1','c2','c3']].fillna(0,inplace=True,)
df4

输出为


	c1	c2		c3	c4
0	0	1.0		2	3
1	4	5.0		6	7
2	8	NaN		10	11
3	12	13.0	14	15
4	16	17.0	18	19

推测 df4[[‘c1’,‘c2’,‘c3’]] 已生成一个新的dataframe.
显式赋值方法就可以。

df4[['c1','c2','c3']] = df4[['c1','c2','c3']].fillna(0)
df4
	c1	c2		c3	c4
0	0	1.0		2	3
1	4	5.0		6	7
2	8	0.0		10	11
3	12	13.0	14	15
4	16	17.0	18	19
 类似资料: