python - 如何按行长度对 pandas 数据框进行排序

标签 python pandas sorting dataframe data-science

我有一个 pandas 数据框,我想按其行的长度进行排序。数据框如下所示:a dataset loaded into a dataframe 。数据帧由大约组成。 7000 笔交易。我想进行排序,以便包含最多项目的交易位于顶部。

最佳答案

你可以尝试:

df.loc[pd.isna(df).sum(axis=1).sort_values(axis=0).index]

简而言之,它的作用是: pd.isna()将返回true/false与原始数据框形状相同的数据框 True如果相应的单元格是 NaN在原始数据框中。 接下来,您对每行( .sum(axis=1) )进行求和,这将返回 NaN 的数量。在给定行中,对于每一行。然后我对其进行排序并仅返回排序后的索引,然后将其提供给 .loc[]方法按请求的顺序返回行。

关于python - 如何按行长度对 pandas 数据框进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59130088/

相关文章:

python - Pyqt4 将 QGraphicsPixmapItem 绘制到另一个 QGraphicsPixmapItem 上

python - 获取多个DataFrame横截面

python - 根据其他列中的值将列中的值数量更改为 np.nan

python - 是否有 Pandas 的数据集文件格式可以在多个列上建立索引(即 'database-indexed' ),和/或可以便宜地更新?

java - elasticsearch 仅按少数字段排序,并对其他字段抛出错误

Python:删除大数据

python - 分配模块函数返回

python - 识别产生 KeyError 的丢失键的位置

ruby - 在 Ruby 中对数字字符串进行排序

javascript - jQuery 对象 .sort() 不排序