我有一个 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/