我有一个数据框,长这样:
a b c
0 Alabama[edit] NaN NaN
1 Auburn (Auburn University)[1]
2 Florence (University of
3 Jacksonville (Jacksonville State
4 Livingston (University of
我希望向数据框中添加一列名为“State”的列,当列“b”的值为NaN时,该列将复制列“a”的值,否则它将在state列中放置NaN值。
我尝试过:
df['State'] = np.where(df['b'] == np.NaN, df['a'], np.NaN)
df['State'] = df.loc[df['b'] == np.NaN, 'a']
然而,由于某种原因,这两个方法似乎都不能对np.NaN进行求值。如果我修改标准为== '(Auburn',那么它会找到该行,并将列'a'的值正确地复制到'State'中。
如果我使用这个函数:
df1 = df[df['b'].isnull()]
,那么我会得到所有相关的行,但是在一个新的数据框中,这正是我想避免的。非常感谢任何帮助。
谢谢, JP