如何在列标题中选择哪个Nan

时间:2019-10-30 01:10:13

标签: python pandas dataframe

我想选择第一个nan命名为School,而另一个nan命名为Grade。

原始列标题:

Name Address nan Class Subject nan 

这是我想要的结果:

Name Address School Class Subject Grade

当我尝试此代码时:

df = df.rename(columns={np.nan:'School'})

这是我的代码结果:

Name Address School Class Subject School

3 个答案:

答案 0 :(得分:1)

我会做什么

s=df.columns.to_series()
s[s.isnull()]=['school','grade']
df.columns=s

答案 1 :(得分:1)

pip uninstall rpy2
pip list --outdated
pip install --upgrade wheel
pip install --upgrade setuptools
pip install rpy2

答案 2 :(得分:0)

您可以遍历各列,如果遇到nan,请用正确的替换它:

cols = []
count = 1
for column in df.columns:
    if column == np.nan:
        if count == 1:
            cols.append('School')
        else if count == 2:
            cols.append('Grade')
        else:
            cols.append(column)
        count+=1
    else:
        cols.append(column)
df.columns = cols