2

我正在尝试在特定列上使用 pandas fillna()。问题是,我不想命名所有这些列。我有一个 DF,我们称之为 df_abc,还有一个 df_123。

df_abc 有列

一个 | 乙| C

x | 是 | z

ķ | w | ķ

df_123 有列

1 | 2 | 3

电子| 电子| z

现在我正在以我想要的方式合并这些,结果是:

一个 | 乙| C | 1 | 2 | 3

x | 是 | z |南|南|南

ķ | w | ķ | 电子| 电子| z

现在我想使用 fillna() 用 0 填充第 1、2、3 列。我试过了:

columns = list(df_123.columns.values)
self.df_result[columns] = self.df_result[columns].fillna(0)

它给了我

ValueError:列的长度必须与键的长度相同

我认为必须有一种方法以干净的方式填充这些列。

4

1 回答 1

2

您可以使用切片来做到这一点,以防您不想为前三列填充 nan,即

df.iloc[:,3:] = df.iloc[:,3:].fillna(0)
于 2017-09-22T15:38:20.560 回答