Python資料分析例項

2021-10-23 21:14:04 字數 3352 閱讀 2280

首先匯入需要的工具numpy,pandas,matplotlib.pyplot

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

pandas讀取資料檔案

df = pd.read_csv('./python案例/googleplaystore.csv', usecols=(0, 1, 2, 3, 4, 5,6))
usecols函式表示讀取前多少列資料,0到6表示讀取7列。不用usecols函式預設讀取所有列,本次分析只需用到前7列。

df.head()

預覽資料,預設為前五行。

執行結果:

describe函式展示資料的一些描述性統計資訊。

預設只輸出數值型資料的統計資訊。

設定引數為'all'則輸入的所有列都在輸出中,設定為o則只輸出離散型變數的統計資訊

count顯示有9367條資料,現在進行一步步資料清洗。

篩選重複資料:

df.drop(df[df.duplicated()].indedx, inplace=true)

duplicated函式篩選重複資料,indedx找出索引。drop函式刪除索引資料行,

inplace函式為true時,不建立新的物件,在原資料基礎上修改。

為false時對資料進行修改,建立並返回新的物件和結果。 預設為false。

單列資料統計預覽:

df.rating.value_counts(dropna=false)

dropna函式為false時,執行結果顯示nan值資料。

為true時,執行結果只顯示有資料的結果。

這個方式可以預覽各個列的資料進行檢視,對資料進行篩選清洗。

執行結果有nan值,資料較少時可以刪除,資料比較多時刪除會對分析結果產生較大影響。

對這種情況可以選擇填充數值,根據具體情況判斷可選:中位數,均值等。這裡選擇均值

df['rating'].fillna(value=df['rating'].mean(),inplace=true)

fillna函式給nan值填充,inplace函式為true時原物件基礎上修改。

執行後之前存在的nan值會被填充為rating的平均值

因為資料分析是對數值型別資料計算,所以資料也要檢查和轉換為數值型別。

df['reviews'].value_counts(dropna=false)

統計reviews列

df['reviews'].str.isnumeric()

.str.isnumeric()函式,如果字串只包含數字字元,返回true。否則返回false。

執行結果:

0 true

1 true

2 true

3 true

4 true

...df['reviews'] = df['reviews'].astype('i8')

#將字串改為數值型別,i8是int64資料型別。

修改為數值型別後,可以用describe函式預覽一下

reviews也變為了數值型別:

預覽size列:

字串形式,需要轉換為可計算的數值型別。

df['size'] = df['size'].str.replace('m', 'e+6')

df['size'] = df['size'].str.replace('k', 'e+3')

df['size'] = df['size'].str.replace('varies with device', '0')

m替換為e+6,k替換為e+3,'varies with device'替換為0

df['size'] = df['size'].astype('f8')

轉換資料型別為f8

df['size'].replace(0, df['size'].mean(), inplace=true)

數值0填充為當前列的平均值。

再次預覽一下,就有了3個可計算的資料列。

這次處理installs列和處理size列方法相同。

當然資料處理方法很多,處理方法並不固定。

df['installs'] = df['installs'].str.replace('+', '')

df['installs'] = df['installs'].str.replace(',', '')

df['installs'] = df['installs'].astype('f8')

分別替換字段,修改資料型別。

df['type'].value_counts()

預覽type列

現在資料已經清洗出4列數值型的資料,就可以用來計算分析了!

對category列進行分組統計:

分組category列,以reviews資料進行降序排列:

python資料分析

以網路爬蟲為例,網路爬蟲是乙個自動提取網頁的程式,爬蟲是搜尋引擎的第一步,也是最容易的一部。網頁搜尋,建立索引,查詢排序 用c c 效率高,速度塊,適合通用搜尋引擎做往往爬取。但是它的缺點也特別明顯 開發慢,寫起來又臭又長的。而python無論在資料分析還是在指令碼自動化編寫尚都是簡單,易學的。良好...

python資料分析

陣列間的算術運算 npwhere pandas的使用 np.random.rand 3,4 產生乙個3行4列的矩陣 0 1之間的 in 32 data1 1,2,3,4.0 in 34 arr1 np.array data1 in 35 arr1 out 35 array 1.2.3.4.in 37...

python資料分析

1.資料分析的含義與目標 2.python與資料分析 3.python資料分析大家族 4.python環境搭建 一 numpy 功能 ndarray 多維操作 線性代數 官網 numpy是python語言的乙個擴充程式庫。支援高階大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫。nu...