我的dataFrame有两列Null值
import numpy as np
import pandas as pd
ddd = pd.DataFrame({'a' : [1,2,3],'b' : [np.nan,np.nan,np.nan],'c' : [np.nan,np.nan,np.nan] })
我想用列a的值替换列b和c。我正在这样做
ddd[['b','c']]= ddd.fillna(ddd.a)
我收到错误ValueError: Columns must be same length as key
当我这样做时,值仍然保持为NAN
ddd.iloc[:,1:] = ddd.fillna(ddd.a)
只有当我这样单独地工作时,它才有效
ddd.b = ddd.fillna(ddd.a)
ddd.c = ddd.fillna(ddd.a)
我的预期输出是
a b c
0 1 1.0 1.0
1 2 2.0 2.0
2 3 3.0 3.0
无论如何要单行工作,我的数据集中有500列以上
答案 0 :(得分:1)
这将在所有列上进行迭代,但第一个列将进行迭代:
for column in df.columns[1:]:
ddd[column]= ddd['a']