資料分析從零開始實戰 | 基礎篇(一)

極簡XksA發表於2019-03-01

資料分析從零開始實戰 | 基礎篇(一)

一、寫在前面

之前的一個系列 『Python小知識 』主要和大家分享一下我快速看過一遍《零壓力學Python》後覺得比較好玩、重要的一些知識點。

接下來我打算花一個月左右的時間把《資料分析實戰》看完,實操一遍,同樣開成一個系列『資料分析從零開始實戰』,既然說了從零開始,就肯定是從零開始,當然如果真的一點基礎都沒有,建議大家把 『Python小知識 』專欄先看一遍。

二、知識點概要

1.建立一個虛擬python執行環境,專門用於本系列學習;
2.資料分析常用模組pandas安裝
3.利用pandas模組讀寫CSV格式檔案

三、開始動手動腦

1.建立虛擬環境

我平時比較喜歡Pycharm,所以本系列打算完全用Pycharm做,Pycharm安裝可以直接到官網上下載,使用社群版即可。
(1)好的正式開始,開啟Pycharm,點選File->New Project,基本配置說明見下圖。
特別說明:python裡面專案路徑裡不要出現中文,同時專案名稱也不要出現中文,名稱儘量能夠概括專案內容。

資料分析從零開始實戰 | 基礎篇(一)

操作步驟圖

(2)建立成功後,我們會在對應目錄下面發現多了專案檔案和虛擬環境檔案。

2.資料分析常用模組Pandas安裝

(1)零基礎教程,首先教大家怎麼進入虛擬環境:進入到目錄I:\pyCoding\Frame\Data_analysis\Scripts(我的虛擬環境目錄),按住shift+滑鼠右鍵,開啟powershell或者cmd(如果是powershell就先輸入cmd),再輸入activate,進入虛擬環境,你會發現在路徑前面多了一個括號裡面是你的虛擬環境名稱,表示你進入了虛擬環境。具體看下面:

PS I:\pyCoding\Frame\Data_analysis\Scripts> cmd
Microsoft Windows [版本 10.0.17134.112]
(c) 2018 Microsoft Corporation。保留所有權利。

I:\pyCoding\Frame\Data_analysis\Scripts>activate
(Data_analysis) I:\pyCoding\Frame\Data_analysis\Scripts>

不知道大家有沒有覺得很麻煩,我是覺得特別麻煩,每次進入虛擬環境都要先到指定檔案路徑,然後再輸入指令,不符合程式設計師的風格啊!當然有簡單方法,具體操作看我之前寫的一篇文章裡有詳細介紹,點選這裡檢視,怎麼快速進入虛擬環境

(2)安裝pandas模組
使用快捷方式進入虛擬環境後,直接
pip指令安裝

# cmd下直接操作
C:\Users\82055>workon

Pass a name to activate one of the following virtualenvs:
==============================================================================
Data_analysis
spiderenv

C:\Users\82055>workon Data_analysis
(Data_analysis) C:\Users\82055>pip install pandas

安裝結果:

資料分析從零開始實戰 | 基礎篇(一)

安裝過程

安裝過程大概1分鐘左右,完成後會顯示

Installing collected packages: pytz, numpy, six, python-dateutil, pandas
Successfully installed numpy-1.15.4 pandas-0.23.4 python-dateutil-2.7.5 pytz-2018.7 six-1.11.0

很明顯看出,這個過程不僅安裝了pandas包,還安裝了numpy,pytz,six,python-dateutil這些附加包,後面我們也會用上。

3.利用pandas模組讀寫CSV格式檔案

(1)資料檔案下載

本系列按書上來的資料都是這裡面的,《資料分析實戰》書中原始碼也在這個程式碼倉庫中,當然後面我自己也會建一個程式碼倉庫,記錄自己的學習過程,大家可以先從這裡下載好資料檔案。

不會從github下載檔案的,可以關注微信公眾號:簡說Python,在微信公眾號後臺回覆:資料分析實戰。(我已經下載整理好了,上傳到了百度雲盤供大家下載)

(2)pandas基本介紹

pandas為Python程式語言提供高效能,是基於NumPy 的一種易於使用的資料結構和資料分析工具,pandas為我們提供了高效能的高階資料結構(比如:DataFrame)和高效地操作大型資料集所需的工具,同時提供了大量能使我們快速便捷地處理資料的函式和方法。

(3)利用pandas讀取CSV檔案

讀取程式碼:

# 匯入資料處理模組
import pandas as pd
import os

# 獲取當前檔案父目錄路徑
father_path = os.getcwd()

# 原始資料檔案路徑
rpath_csv = father_path+r'\data01\city_station.csv'
# 讀取資料
csv_read = pd.read_csv(rpath_csv)
# 顯示資料前10條
print(csv_read.head(10))

執行結果:

資料分析從零開始實戰 | 基礎篇(一)


函式解析:
read_csv(filepath_or_buffer,sep,header,names,skiprows,na_values,encoding,nrows)
按指定格式讀取csv檔案。
常見引數解析
1. filepath_or_buffer:字串,表示檔案路徑;

2. sep: 字串,指定分割符,預設是’,’;

3. header:數值, 指定第幾行作為列名(忽略註解行),如果沒有指定列名,預設header=0; 如果指定了列名header=None;

4. names: 列表,指定列名,如果檔案中不包含header的行,應該顯性表示header=None。

5. skiprows:列表,需要忽略的行數(從0開始),設定的行數將不會進行讀取。

6. na_values:列表,設定需要將值替換成NAN的值,pandas預設NAN為預設,可以用來處理一些預設、錯誤的數值。

7. encoding:字串,用於unicode的文字編碼格式。例如,"utf-8"或"gbk"等文字的編碼格式。

8. nrows:需要讀取的行數。

(4)利用pandas寫入CSV檔案

寫入程式碼:

import pandas as pd
import os

# 獲取當前檔案父目錄路徑
father_path = os.getcwd()

# 儲存資料檔案路徑
path_csv = father_path+r'\data01\temp_city.csv'
# 寫入資料(列名+列值)
data = {"站點名": ["北京北""北京東""北京""北京南""北京西"],
        "代號": ["VAP""BOP""BJP""VNP""BXP"]}
# 資料初始化為DataFrame物件
df = pd.DataFrame(data)
# 資料寫入
df.to_csv(path_csv)

執行結果:

資料分析從零開始實戰 | 基礎篇(一)

函式解析:

to_csv(path_or_buf,sep,na_rep,columns,header,index)

1. path_or_buf:字串,檔名、檔案具體、相對路徑、檔案流等;

2. sep:字串,檔案分割符號;

3. na_rep:字串,將NaN轉換為特定值;

4. columns:列表,選擇部分列寫入;

5. headerNone,寫入時忽略列名;

6. index:False則選擇不寫入索引,預設為True。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556503/viewspace-2637302/,如需轉載,請註明出處,否則將追究法律責任。

相關文章