pandas筛选包含特定字符的行

pandas筛选包含特定字符的行

pandas筛选包含特定字符的行

在数据处理中,经常需要根据一些特定条件来筛选数据,比如根据一列数据是否包含特定的字符来筛选行。在使用pandas库进行数据处理时,可以很方便地实现这个功能。

准备数据

首先,我们需要准备一些数据作为示例。下面是一个包含名字和年龄的数据集:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
        'age': [25, 30, 35, 40, 45]}

df = pd.DataFrame(data)
print(df)

运行以上代码可以得到如下输出:

      name  age
0    Alice   25
1      Bob   30
2  Charlie   35
3    David   40
4      Eve   45

筛选包含特定字符的行

假设我们想要筛选出名字中包含字符”e”的行,可以使用pandas的str.contains()方法。

filtered_df = df[df['name'].str.contains('e', case=False)]
print(filtered_df)

上述代码中的str.contains('e', case=False)表示筛选出名字列中包含小写的’e’字符的行,case=False参数表示忽略大小写。

运行以上代码可以得到如下输出:

    name  age
0  Alice   25
4    Eve   45

可以看到,只有名字中包含’e’的行被筛选出来了。

匹配整个单词

有时候我们可能需要精确匹配整个单词,而不是部分匹配。这时可以使用正则表达式来实现。

filtered_df = df[df['name'].str.contains(r'\bEve\b', case=False, regex=True)]
print(filtered_df)

上述代码中的r'\bEve\b'表示匹配整个单词”Eve”,\b表示单词边界。regex=True参数表示使用正则表达式进行匹配。

运行以上代码可以得到如下输出:

  name  age
4  Eve   45

可以看到,只有名字为”Eve”的行被筛选出来了。

结语

通过使用str.contains()方法,我们可以很方便地筛选出包含特定字符的行,同时也可以使用正则表达式来实现更加精确的匹配。这对于数据处理和分析非常有用。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程