python - 数据帧的丢弃百分比 [pandas]

标签 python pandas

我有一个尾部很长的数据集,希望仅对 90% 的数据进行采样。

city          score
bangkok       60
kl            20
sydney        10
melbourne     5
dhaka         5

应该是:

city          score
bangkok       60
kl            20
sydney        10

最佳答案

首先,对要过滤最高 90% 的数据的值进行排序

df.sort_values('score', ascending=False, inplace=True)

然后,您计算累积和并除以总数,以制定您的过滤条件(您可以将 0.9 替换为您的自定义限制)

df = df[df['score'].cumsum() / df['score'].sum() < 0.9]

现在df看起来像

city          score
bangkok       60
kl            20
sydney        10

关于python - 数据帧的丢弃百分比 [pandas],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51083286/

相关文章:

python - 如何展平 pandas DataFrame 中的分层列索引?

python - 递归深度有限的旅行目录树

python - 从数据提取中删除字母只留下数字Python

python - sympy 求解线性方程 XOR、NOT

python - 在 Python 中将 Excel 或 CSV 文件转换为电子邮件地址列表

python - 使用 pandas dataframe 绘制误差线 matplotlib

python - 保存为 pdf 时,删除 seaborn 热图中分隔单元格的线条

python - PropertyMock 的 side_effect 函数仅被调用一次

python - 当两个数据帧的列名称匹配时查找值

python - SQLAlchemy 属性错误 : 'module' object has no attribute 'PandasSQLAlchemy'