[英]How to apply different method parameters for different columns in pandas fillna() method
[英]How to apply fillna to last N columns of a pandas dataframe?
我有一個包含許多列的數據框。 我想用 0 填充最后 x 列的 nan。 我使用了以下代碼,但它似乎不起作用。
df.iloc[:, -10:-1].fillna(value=0, inplace=True)
我究竟做錯了什么? 當我專門按名稱引用列時:
df['column_a'].fillna(value=0, inplace=True)
它有效,但我不想一次只做一列。
一個應該在這里工作的食譜是
df.iloc[:, -x:] = df.iloc[:, -x:].fillna(value=0)
這里的一個可重現的例子是
import pandas as pd
df = pd.DataFrame({'col1':range(10),
'col2':range(1, 11),
'col3':range(2, 12),
'col4':range(3, 13),
'col5':range(4, 14)})
# pepper with NaNs
df.iloc[8, 2] = None
df.iloc[8, 3] = None
df.iloc[8, 4] = None
# apply fillna change to last 2 cols
x = 2
df.iloc[:, -x:] = df.iloc[:, -x:].fillna(value=0)
print(df)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.