我正在将一些代码从python2升级到python3和现代的Pandas 版本(我现在有Pandas 2.0.3和NumPy版本1.26.4)

我的数据帧是:

        N  NE   E  SE   S  SW    W   NW
H12    NaN NaN NaN NaN NaN NaN  NaN  NaN
H13    0.7 NaN NaN NaN NaN NaN  1.0  1.4
H14    0.3 NaN NaN NaN NaN NaN  0.8  1.1
H15    NaN NaN NaN NaN NaN NaN  NaN  NaN
H16    NaN NaN NaN NaN NaN NaN  NaN  NaN

我想省go 所有的nan,这样我就可以得到一个新的df:

        N   W   NW
H13    0.7 1.0  1.4
H14    0.3 0.8  1.1

我的旧代码有df.any(1)或非常类似的东西可以正常工作,但现在我收到错误消息

NDFrame._add_numeric_operations.<locals>.any() takes 1 positional argument but 2 were given

也许有一种更好的方法,我并不担心使用any().

推荐答案

any现在是keyword-only,你必须用axis=1.

尽管您尚未展示原始代码,但以下代码应该可以工作:

out = df.loc[df.any(axis=1), df.any()]

输出:

       N    W   NW
H13  0.7  1.0  1.4
H14  0.3  0.8  1.1

Python相关问答推荐

当多个值具有相同模式时返回空

根据另一列中的nan重置值后重新加权Pandas列

标题:如何在Python中使用嵌套饼图可视化分层数据?

按列分区,按另一列排序

管道冻结和管道卸载

如何在虚拟Python环境中运行Python程序?

Godot:需要碰撞的对象的AdditionerBody2D或Area2D以及queue_free?

在含噪声的3D点网格中识别4连通点模式

如果满足某些条件,则用另一个数据帧列中的值填充空数据帧或数组

如何使Matplotlib标题以图形为中心,而图例框则以图形为中心

基于多个数组的多个条件将值添加到numpy数组

当条件满足时停止ODE集成?

处理Gekko的非最优解

Python 3试图访问在线程调用中实例化的类的对象

在电影中向西北方向对齐""

使用SeleniumBase保存和加载Cookie时出现问题

以极轴表示的行数表达式?

时间戳上的SOAP头签名无效

将标签与山脊线图对齐

Sknowled线性回归()不需要迭代和学习率作为参数