📜  pandas 选择带有子字符串的行 - Python (1)

📅  最后修改于: 2023-12-03 15:03:31.099000             🧑  作者: Mango

Pandas选择带有子字符串的行 - Python

在Pandas中,我们可以使用str.contains()方法来选择具有特定子字符串的行。这是非常有用的,因为许多时候我们需要从一组数据中选择某些行,这些行具有特定的模式或格式。

以下是一个简单的例子,它演示了如何使用str.contains()方法选择具有特定子字符串的行:

import pandas as pd

# 创建数据框
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'David'],
                   'age': [25, 34, 22, 48],
                   'gender': ['F', 'M', 'M', 'M']})

# 选择具有子字符串的行
df_filtered = df[df['name'].str.contains('a')]

# 打印筛选后的数据框
print(df_filtered)

输出:

      name  age gender
0    Alice   25      F
1      Bob   34      M
2  Charlie   22      M

在上面的代码中,我们首先创建了一个包含几个人的名字、年龄和性别信息的数据框。然后,我们使用str.contains()方法选择了具有子字符串'a'的所有行,并将筛选后的数据框存储在df_filtered变量中。

这个例子很简单,但是str.contains()方法还有很多参数和选项,可以满足各种选择条件。以下是str.contains()方法的一些常见用法:

# 选择具有特定子字符串的行
df_filtered1 = df[df['name'].str.contains('a')]

# 选择以特定子字符串开头的行
df_filtered2 = df[df['name'].str.startswith('A')]

# 选择以特定子字符串结尾的行
df_filtered3 = df[df['name'].str.endswith('e')]

# 选择特定子字符串的行,忽略大小写
df_filtered4 = df[df['name'].str.contains('a', case=False)]

# 选择正则表达式匹配的行
df_filtered5 = df[df['name'].str.contains('^A.*e$')]

如果您需要更多关于str.contains()方法的信息,请查看官方文档。

综上所述,使用str.contains()方法可以帮助您选择具有特定子字符串的行,使得数据处理和分析变得更加简单高效。