pandas进行字符匹配,并进行相应值显示

读取数据

在进行字符匹配前,首先我们需要读取相应的数据,使用的是pd.read_csv(‘这里填写相应的文件路径’)

import pandas as pd 
import numpy as np 

data = pd.read_csv('../datasets/Soccer.csv')
#head是显示文件的前五行数据
data.head()

显示数据为:
显示出的前五行数据

匹配字符串

下面对于属性‘birthplace’进行匹配,匹配以大写字母开头的出生地点(birthplace)。首先将Series获得birthplace,转换为str使用contain进行字符串匹配。具体代码如下:

data_bool = pd.Series(data['birthplace']).str.contains(r'^G')
print(data_bool)
此时,得到每个cell的值为真值,True 或False(匹配为True,不匹配为False)。

在这里插入图片描述

显示单元格实际值

然后将True转化为其单元格的真实值

print(data['birthplace'][data_bool == True])

得到最后结果为所有匹配的单元格,具体执行结果为:
匹配后的结果

重置索引

但是这里有个问题就是,所有值的前面都有一个索引,但索引并不是从0开始,而是按照其值在原来列中的索引来显示的。所以,我们需要进行重新索引,使其索引是顺序的。

#将前面获取到的值赋给data_old_index
data_old_index = data['birthplace'][data_bool == True]
#重置索引
get_index = data_old_index.reset_index(drop=True)
print(get_index)

我们使用get_index()函数进行索引重置,其中的参数drop = True表示不会保留原来的索引index列,而是直接使用重置后的索引,默认为False。显示结果为:

重置索引

上面看到,我们已经成功将索引进行了重置,结果显示所有符合匹配条件的值,并且索引从0开始。

至此对于pandas中字符串的匹配方法,以及索引重置就已经介绍完毕。后续如果想要继续进行匹配练习,可以参考python中re模块的匹配方法。

Guess you like

Origin blog.csdn.net/baidu_41797613/article/details/120292041