Nis*_*jan 3 python numpy pandas
我正在尝试根据 NaN 值将两列合并到第三列
df['code2'] = np.where(df['code']==np.nan, df['code'], df['code1'])
Run Code Online (Sandbox Code Playgroud)
我只得到 code2 中 code1 列的值。结果如图所示输出图像
请告诉我我正在编写的代码有什么问题。谢谢
我认为你需要isnull比较NaN:
df[\'code2\'] = np.where(df[\'code\'].isnull(), df[\'code\'], df[\'code1\'])\nRun Code Online (Sandbox Code Playgroud)\n文件:
\n\n\n警告
\n必须注意的是,在 python(和 numpy)中,nan 的 don\xe2\x80\x99t 比较相等,但 None 的比较相等。请注意,Pandas/numpy 使用 np.nan != np.nan 这一事实,并将 None 视为 np.nan。
\n
In [11]: None == None\nOut[11]: True\n\nIn [12]: np.nan == np.nan\nOut[12]: False\nRun Code Online (Sandbox Code Playgroud)\n\n\n因此,与上面相比,标量相等与 None/np.nan 的比较并不能提供有用的信息。
\n
In [13]: df2[\'one\'] == np.nan\nOut[13]: \na False\nb False\nc False\nd False\ne False\nf False\ng False\nh False\nName: one, dtype: bool\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3914 次 |
| 最近记录: |