Task2 数据读取与数据分析[¶]
本章主要内容为数据读取和数据分析,具体使用Pandas
库完成数据读取操作,并对赛题数据进行分析构成。
学习目标
- 学习使用
Pandas
读取赛题数据 - 分析赛题数据的分布规律
导入必要库
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
import seaborn as sns
plt.rcParams['font.sans-serif'] = ['SimHei']
这里设置plt的字体显示
读取数据
train_df = pd.read_csv('../Data/train_set.csv', sep='\t')
csv数据的读取,可以看一下数据的基本信息和情况
数据分析¶
在读取完成数据集后,我们还可以对数据集进行数据分析的操作。虽然对于非结构数据并不需要做很多的数据分析,但通过数据分析还是可以找出一些规律的。
此步骤我们读取了所有的训练集数据,在此我们通过数据分析希望得出以下结论:
- 赛题数据中,新闻文本的长度是多少?
- 赛题数据的类别分布是怎么样的,哪些类别比较多?
- 赛题数据中,字符分布是怎么样的?
句子长度分析
在赛题数据中每行句子的字符使用空格进行隔开,所以可以直接统计单词的个数来得到每个句子的长度。统计并如下:
文本长度分布信息(竖轴显示取log)
新闻类别分布¶
接下来可以对数据集的类别进行分布统计,具体统计每类新闻的样本个数
字符分布统计
接下来可以统计每个字符出现的次数,首先可以将训练集中所有的句子进行拼接进而划分为字符,并统计每个字符的个数。
高频词语,低频词语
本章作业
- 假设字符3750,字符900和字符648是句子的标点符号,请分析赛题每篇新闻平均由多少个句子构成?
- 统计每类新闻中出现次数对多的字符
Solution
-
python 自带的split不能多条件分割,这里使用re模块完成。
-
这里我选取了前五频繁的字词。我们可以发现3750,648,900几乎在各类别中均是高频词语,几乎可以确定为标点。