我有一个数据框,其中有一列,如下所示:
note
129.0
130.0
131.0
132.0
133.0
134.0
135.0
136.0
137.0
138.0
139.0
140.0
141.0
142.0
143.0
因此有些行不包含值 (NaN)。
我想将非 NaN 的数值替换为 1,以获得:
note
1
1
1
1
1
1
1
1
我尝试了这段代码:
def replace():
if (pd.notnull(df['note'])):
df['note'] = '1'
return df
return df
它返回我ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Use loc
为了这:
In [86]:
df.loc[df['note'].notnull(), 'note'] = 1
df
Out[86]:
note
0 1
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
9 1
10 1
11 1
12 1
13 1
14 1
if (pd.notnull(df['note']))
不会工作,因为if
不明白如何处理布尔值数组,因此ValueError
因为你可能有全部 -1 或只有一个True
布尔数组中的值
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)