python - Pandas:如果包含超过 2 个条目,如何删除行?

标签 python pandas

我有一个如下所示的数据框

df
        entry
0       (5, 4)
1       (4, 2, 1)
2       (0, 1)
3       (2, 7)
4       (9, 4, 3)

我只想保留包含两个值的条目

df
     entry
0    (5, 4)
1    (0, 1)
2    (1, 7)

最佳答案

如果有元组,请使用 Series.str.len 长度并通过 Series.le 进行比较对于 <=并过滤 boolean indexing :

df1 = df[df['entry'].str.len().le(2)]
print (df1)
    entry
0  (5, 4)
2  (0, 1)
3  (2, 7)

如果有字符串比较,的个数并按 Series.lt 进行比较对于 < :

df2 = df[df['entry'].str.count(',').lt(2)]
print (df2)
   entry
0  (5,4)
2  (0,1)
3  (2,7)

关于python - Pandas:如果包含超过 2 个条目,如何删除行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61849079/

相关文章:

python - "Fork and Join"具有无服务器函数(例如 AWS Lambda)/Python

python - 多行 csv 字段和 Python next(file)

Python:如何在同一个文件中调用一个类

python - 从大型压缩文件流式传输 JSON 对象

python - 用于比较多个数据列的循环 T 检验

python - Matplotlib:创建一个可以绘制的类

python - 在 pyspark 中聚合 5 分钟窗口

python - 根据 Pandas 中的整数分解行

Python:在DataFrame中,在新列中为另一列中具有最高值的行添加值,并在第三列中添加相同的字符串

python-3.x - 如何使用 pandas 将 csv 文件读入数据框