rwa*_*rwa 2 python nan dataframe pandas
如何将 Pandas 数据框中的所有非 NaN 值替换为 1 但单独保留 NaN 值?这几乎就是我正在寻找的。问题是它也使 NaN 值为 0。然后我必须将它们重置为 NaN 之后。
我想要这个
a b
0 NaN QQQ
1 AAA NaN
2 NaN BBB
Run Code Online (Sandbox Code Playgroud)
成为这个
a b
0 NaN 1
1 1 NaN
2 NaN 1
Run Code Online (Sandbox Code Playgroud)
这段代码几乎就是我想要的
newdf = df.notnull().astype('int')
Run Code Online (Sandbox Code Playgroud)
上面的代码是这样做的
a b
0 0 1
1 1 0
2 0 1
Run Code Online (Sandbox Code Playgroud)
一种方法是从原始数据框中选择所有非空值并将它们设置为一:
df[df.notnull()] = 1
此解决方案对您的数据:
df = pd.DataFrame({'a': [np.nan, 'AAA', np.nan], 'b': ['QQQ', np.nan, 'BBB']})
df[df.notnull()] = 1
df
a b
0 NaN 1
1 1 NaN
2 NaN 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
563 次 |
| 最近记录: |