在之前的处理中,我们完成了对数据标签的补充和无意义文本的去除,现在我们需要再次对其进行清洗,去除其中重复数据与缺失值
一.工具选择与简介
在这里我们选择pandas作为我们的数据处理工具,Pandas 是 Python 语言的一个扩展程序库,用于数据分析。Pandas 名字衍生自术语 "panel data"(面板数据)和 "Python data analysis"(Python 数据分析)。Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。Pandas 一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算)。因此我们选择pandas作为我们进行数据清洗的工具
二.实现
我们首先对库进行导入,读取我们文件中的.json格式的文件到data中
import pandas as pd
import json
# 读取 JSON 文件并创建 DataFrame
file_path = 'C:/Users/48594/Desktop/深度学习/res/tourist_texts.json'
with open(file_path, 'r', encoding='utf-8') as f:
data = json.load(f)
然后初步查看一下数据
# 初步查看数据
print("初始数据示例:")
print(df.head())
之后进行数据的清洗和处理缺失值,将处理后的数据进行输出并进行保存
# 数据清洗
# 处理缺失值
df.fillna(value={'content': '', 'title': ''}, inplace=True)
# 文本处理示例:将文本转换为小写并去除标点符号
import string
df['content'] = df['content'].str.lower()
df['content'] = df['content'].apply(lambda x: x.translate(str.maketrans('', '', string.punctuation)))
# 可选:如果需要对中文文本进行分词,可以使用 jieba 库
import jieba
df['content_seg'] = df['content'].apply(lambda x: ' '.join(jieba.cut(x)))
# 输出处理后的数据示例
print("\n清洗和处理后的数据示例:")
print(df.head())
# 可选:进行基本统计分析
print("\n基本统计分析示例:")
print(df.describe())
# 可选:词频统计示例
from sklearn.feature_extraction.text import CountVectorizer
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(df['content_seg'])
word_freq = pd.DataFrame(X.toarray(), columns=vectorizer.get_feature_names_out())
print("\n词频统计示例:")
print(word_freq.sum().sort_values(ascending=False).head(10))