pandas中对文本类型数据的处理小结

  • Post category:Python

首先让我们来讲解一下Pandas对文本类型数据的处理小结。

1. 读取文本类型数据(CSV、TXT、Excel)

使用Pandas读取文本类型数据可以使用read_csv()read_table()read_excel()等函数,其中,read_csv()用于读取CSV格式数据,read_table()用于读取TXT格式数据,read_excel()用于读取Excel格式数据。

import pandas as pd

# 读取CSV格式数据
df = pd.read_csv('file.csv')

# 读取TXT格式数据
df = pd.read_table('file.txt')

# 读取Excel格式数据
df = pd.read_excel('file.xlsx')

2. 字符串方法

Pandas提供了一些字符串方法用于处理文本类型数据,例如,可以使用str.upper()将文本全部转换成大写,使用str.lower()将文本全部转换成小写,使用str.replace()替换文本中的某些字符等。

# 将文本全部转换成大写
df['column_name'].str.upper()

# 将文本全部转换成小写
df['column_name'].str.lower()

# 替换文本
df['column_name'].str.replace('a', 'b')

3. 分割和拼接

Pandas提供了一些函数用于对文本进行分割和拼接,例如,可以使用str.split()将文本按照某个字符进行分割,使用str.cat()将多个文本拼接起来。

# 将文本按照逗号进行分割
df['column_name'].str.split(',')

# 将多个文本拼接起来
df['column_name'].str.cat(sep='_')

4. 提取子字符串

Pandas提供了一些函数用于提取文本中的某些字符,例如,可以使用str.slice()提取文本中的某一个子字符串,使用str.extract()提取符合某个模式的子字符串。

# 提取文本中的第3个字符到第6个字符
df['column_name'].str.slice(2, 6)

# 提取符合某个模式的子字符串
df['column_name'].str.extract('(\d+)')

以上就是关于Pandas中对文本类型数据的处理小结的内容,希望对你有所帮助。

以下是两条示例说明:

示例1:统计某篇文章中每个单词出现的次数

with open('article.txt', 'r') as f:
    content = f.read()

# 转换为小写
content = content.lower()

# 替换特殊字符
content = content.replace('.', ' ').replace(',', ' ').replace('\n', ' ')

# 分割成单词列表
words = content.split()

# 统计每个单词出现的次数
word_count = pd.Series(words).value_counts()

print(word_count)

示例2:提取某个URL中的域名

url = 'https://www.example.com/product/1234'

# 提取域名
domain = pd.Series(url).str.extract('://(.*?)/')[0][0]

print(domain)