Task 2 資料讀取與資料分析

2021-10-08 09:58:23 字數 2279 閱讀 9604

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

train_df=train_df=pd.read_csv(

'd:\\a\\train_set1.csv'

,sep=

'\t'

,nrows=

100)

train_df.head

引數:sep每列的分隔符,用『\t』分割,nrows=100,讀取100條資料

賽題資料中每行句子的字元使用空格進行分割,可通過直接統計單詞的個數得到每個句子的長度。

%pylab inline

train_df[

'text_len'

]=train_df[

'text'].

(lambda x:

len(x.split(

' ')))

print

(train_df[

'text_len'

].describe(

))

通過結果可知,句子長度均值在872,最短64 最長7125

檢視句子長度的直方圖:

_=plt.hist(train_df[

'text_len'

],bins=

200)

plt.xlabel(

'text char count'

)plt.title(

'histogram of char count'

)

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-lddtpsxj-1595408686822)(d:\downlpad\288d01fbc2f9cd73258e1a8db9e8e41.png)]

檢視賽題資料的類別分布

通過繪製直方圖來檢視每個新聞類別的分布。

train_df[

'label'

].value_counts(

).plot(kind=

'bar'

)plt.title(

'new class count'

)plt.xlabel(

"category"

)

輸出結果:

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-rt3gjwxd-1595408686824)(d:\downlpad\93494884acc7115cf6875b428d39a7b.png)]

通過結果可知,大部分的新聞分布是0,1,2 最少的是13,新聞的類別標識為:。

字元分布

統計每個字元出現的次數,將句子進行拼接進而劃分為字元,並統計每個字元的個數。通過統計,知道 3750 3702 5034 出現頻率最高推測其為標點符號。

使用lambda函式,先對train_df[『text』]的資料進行去重,然後拼接統計:

train_df[

'text_unique'

]= train_df[

'text'].

(lambda x:

' '.join(

list

(set

(x.split(

' ')))

))all_lines =

' '.join(

list

(train_df[

'text_unique'])

)word_count = counter(all_lines.split(

' ')

)word_count =

sorted

(word_count.items(

),key=

lambda d:

int(d[1]

),reverse=

true

)print

(len

(word_count)

)print

(word_count[0]

)print

(word_count[-1

])

可知:1.每個新聞的字元個數在900多,還有個別新聞較長,可能需要截斷;

2.新聞類別分布不均勻,會影響模型精度。

可知:1.每個新聞的字元個數在900多,還有個別新聞較長,可能需要截斷;

2.新聞類別分布不均勻,會影響模型精度。

Task2 資料讀取與資料分析

先用pandas讀取資料 train df pd.read csv data train set.csv sep t train df.head label為新聞類別,text為之後的文章內容。讀取資料後計算每條新聞的文字長度。用plt庫繪製直方圖。1 假設字元3750,字元900和字元648是句子...

Task 2 資料分析(EDA)

在此之前基本沒有關於python以及資料探勘的經驗,所以前期不管是庫的安裝還是按照指導pdf敲 都經常遇到錯誤,小白只能邊查邊改邊學,頭禿的同時也強迫自己學到了不少東西。前半部分的 還能勉強一邊敲一邊理解,後面只能走一下流程,粗略地了解一下eda的整體步驟,具體的 以及過程中蒐集的知識 遇到的問題將...

動手學資料分析 Task 2

常用的函式有dropna 和fillna dataframe.dropna axis 0,how any thresh none,subset none,inplace false 屬性說明 預設引數axis 0,根據索引 index 刪除指定的行 axis 1,根據列名 columns 刪除指定的...