那里我有以下情况,任何帮助都将不胜感激.

假设我有以下数据帧,包含2列9万行(缩短了长度,便于复制):

  PRODUCT ID        PROBLEM
0          1       OIL LEAK
1          2      FLAT TIRE
2          3       OIL LEAK
3          4  ENGINE ISSUES
4          5  ENGINE ISSUES
5          6       OIL LEAK
6          7       OIL LEAK
7          8      FLAT TIRE
8          9      FLAT TIRE
9      90000       OIL LEAK

我需要根据"PROBLEM"列中的值删除一些行(但不是全部).想象一下,值"OIL LEAK"在我的数据框中出现了11000次,但我只想在我的数据框中保留该值的50个条目,并删除该值出现的所有其他行.对我来说,只要我的数据帧中还有50个这个值的寄存器,被丢弃的行的索引就不重要了.

有没有办法做到这一点?提前感谢!

推荐答案

例如,你可以节省50处漏油,并在清除后对其进行处理?

leaks = df[df['PROBLEM'] == 'OIL LEAK'].head(50)
df = df[df['PROBLEM'] != 'OIL LEAK'].concat(leaks)

Python相关问答推荐

如何在Python中并行化以下搜索?

无法使用requests或Selenium抓取一个href链接

利用Selenium和Beautiful Soup实现Web抓取JavaScript表

使用NeuralProphet绘制置信区间时出错

用渐近模计算含符号的矩阵乘法

从Windows Python脚本在WSL上运行Linux应用程序

try 检索blob名称列表时出现错误填充错误""

基于行条件计算(pandas)

如何杀死一个进程,我的Python可执行文件以sudo启动?

寻找Regex模式返回与我当前函数类似的结果

ModuleNotFoundError:没有模块名为x时try 运行我的代码''

如果有2个或3个,则从pandas列中删除空格

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

有没有办法在不先将文件写入内存的情况下做到这一点?

分解polars DataFrame列而不重复其他列值

将数字数组添加到Pandas DataFrame的单元格依赖于初始化

按条件计算将记录拆分成两条记录

按列表分组到新列中

有条件的滚动平均数(面试问题)

Chrome 122-如何允许不安全的内容?(不安全下载被阻止)