gpt4 book ai didi

python-3.x - 过滤 Pandas 数据框行

转载 作者:行者123 更新时间:2023-12-01 13:30:41 26 4
gpt4 key购买 nike

我有一个包含一列数字的数据框。该列的数据是由逗号分隔的数字字符串。

numbers
-------
1,3,4,5,17,30
5,6,18,37,41,42
1,2,5,14,19,20
1,5,13,20,29,31
1,9,10,11,14,17
2,9,13,25,30,35

如何获取所有只包含数字1 & 5的字符串?

期望的输出:

numbers
-------
1,3,4,5,17,30
1,2,5,14,19,20
1,5,13,20,29,31

最佳答案

您可以通过split 创建df并与 eq 进行比较与 any对于这两种情况。最后过滤 boolean indexing :

df1 = df['numbers'].str.split(',', expand=True).astype(int)
df = df[df1.eq(1).any(1) & df1.eq(5).any(1)]
print (df)
numbers
0 1,3,4,5,17,30
2 1,2,5,14,19,20
3 1,5,13,20,29,31

另一种解决方案 contains对于条件:

a = df['numbers'].str.contains(',1,|,1$|^1,')
b = df['numbers'].str.contains(',5,|,5$|^5,')

df = df[a & b]
print (df)
numbers
0 1,3,4,5,17,30
2 1,2,5,14,19,20
3 1,5,13,20,29,31

关于python-3.x - 过滤 Pandas 数据框行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46074452/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com