@@ -6216,64 +6216,66 @@ def fillna(
6216
6216
--------
6217
6217
>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],
6218
6218
... [3, 4, np.nan, 1],
6219
- ... [np.nan, np.nan, np.nan, 5 ],
6219
+ ... [np.nan, np.nan, np.nan, np.nan ],
6220
6220
... [np.nan, 3, np.nan, 4]],
6221
6221
... columns=list("ABCD"))
6222
6222
>>> df
6223
- A B C D
6224
- 0 NaN 2.0 NaN 0
6225
- 1 3.0 4.0 NaN 1
6226
- 2 NaN NaN NaN 5
6227
- 3 NaN 3.0 NaN 4
6223
+ A B C D
6224
+ 0 NaN 2.0 NaN 0.0
6225
+ 1 3.0 4.0 NaN 1.0
6226
+ 2 NaN NaN NaN NaN
6227
+ 3 NaN 3.0 NaN 4.0
6228
6228
6229
6229
Replace all NaN elements with 0s.
6230
6230
6231
6231
>>> df.fillna(0)
6232
- A B C D
6233
- 0 0.0 2.0 0.0 0
6234
- 1 3.0 4.0 0.0 1
6235
- 2 0.0 0.0 0.0 5
6236
- 3 0.0 3.0 0.0 4
6232
+ A B C D
6233
+ 0 0.0 2.0 0.0 0. 0
6234
+ 1 3.0 4.0 0.0 1.0
6235
+ 2 0.0 0.0 0.0 0.0
6236
+ 3 0.0 3.0 0.0 4.0
6237
6237
6238
6238
We can also propagate non-null values forward or backward.
6239
6239
6240
6240
>>> df.fillna(method="ffill")
6241
- A B C D
6242
- 0 NaN 2.0 NaN 0
6243
- 1 3.0 4.0 NaN 1
6244
- 2 3.0 4.0 NaN 5
6245
- 3 3.0 3.0 NaN 4
6241
+ A B C D
6242
+ 0 NaN 2.0 NaN 0. 0
6243
+ 1 3.0 4.0 NaN 1.0
6244
+ 2 3.0 4.0 NaN 1.0
6245
+ 3 3.0 3.0 NaN 4.0
6246
6246
6247
6247
Replace all NaN elements in column 'A', 'B', 'C', and 'D', with 0, 1,
6248
6248
2, and 3 respectively.
6249
6249
6250
6250
>>> values = {{"A": 0, "B": 1, "C": 2, "D": 3}}
6251
6251
>>> df.fillna(value=values)
6252
- A B C D
6253
- 0 0.0 2.0 2.0 0
6254
- 1 3.0 4.0 2.0 1
6255
- 2 0.0 1.0 2.0 5
6256
- 3 0.0 3.0 2.0 4
6252
+ A B C D
6253
+ 0 0.0 2.0 2.0 0. 0
6254
+ 1 3.0 4.0 2.0 1.0
6255
+ 2 0.0 1.0 2.0 3.0
6256
+ 3 0.0 3.0 2.0 4.0
6257
6257
6258
6258
Only replace the first NaN element.
6259
6259
6260
6260
>>> df.fillna(value=values, limit=1)
6261
- A B C D
6262
- 0 0.0 2.0 2.0 0
6263
- 1 3.0 4.0 NaN 1
6264
- 2 NaN 1.0 NaN 5
6265
- 3 NaN 3.0 NaN 4
6261
+ A B C D
6262
+ 0 0.0 2.0 2.0 0. 0
6263
+ 1 3.0 4.0 NaN 1.0
6264
+ 2 NaN 1.0 NaN 3.0
6265
+ 3 NaN 3.0 NaN 4.0
6266
6266
6267
6267
When filling using a DataFrame, replacement happens along
6268
6268
the same column names and same indices
6269
6269
6270
6270
>>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list("ABCE"))
6271
6271
>>> df.fillna(df2)
6272
- A B C D
6273
- 0 0.0 2.0 0.0 0
6274
- 1 3.0 4.0 0.0 1
6275
- 2 0.0 0.0 0.0 5
6276
- 3 0.0 3.0 0.0 4
6272
+ A B C D
6273
+ 0 0.0 2.0 0.0 0.0
6274
+ 1 3.0 4.0 0.0 1.0
6275
+ 2 0.0 0.0 0.0 NaN
6276
+ 3 0.0 3.0 0.0 4.0
6277
+
6278
+ Note that column D is not affected since it is not present in df2.
6277
6279
"""
6278
6280
inplace = validate_bool_kwarg (inplace , "inplace" )
6279
6281
value , method = validate_fillna_kwargs (value , method )
0 commit comments