資料分析從零開始實戰 | 基礎篇(一)
一、寫在前面
之前的一個系列 『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. header:None,寫入時忽略列名;
6. index:False則選擇不寫入索引,預設為True。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556503/viewspace-2637302/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料分析從零開始實戰 | 基礎篇(三)
- 資料分析從零開始實戰 | 基礎篇(二)
- 從零開始學AB測試:基礎篇
- Re:從零開始的Linux之路(基礎篇)Linux
- 從零開始資料分析:一個資料分析師的資料分析流程
- 從零開始搭建React應用(一)——基礎搭建React
- 從零開始資料分析01--什麼是資料分析
- 從零開始寫一個微前端框架-資料通訊篇前端框架
- 資料分析 | 零基礎入門資料分析(一):從入門到摔門?
- 從零開始寫一個node爬蟲(上)—— 資料採集篇爬蟲
- Git/小白從零開始篇Git
- 從零開始——GO語言基礎語法Go
- 從零開始-基礎流程圖編輯庫流程圖
- 從零開始教你用vuepress搭建自己的部落格(1)—基礎篇Vue
- 從零開始實現資料庫自動化巡檢(一)資料庫
- 一切從基礎開始Linux入門命令篇Linux
- 從零開始學 Python 之基礎語法Python
- Docker從零開始製作基礎映象之CentosDockerCentOS
- 從零開始實現放置遊戲(一)遊戲
- Java 執行緒基礎,從這篇開始Java執行緒
- 【譯】資料庫基礎:用 Go 從零開始寫一個 SQL 資料庫 —— 第一部分資料庫GoSQL
- [AST實戰]從零開始寫一個wepy轉VUE的工具ASTVue
- 從零開始實現一個RPC框架(零)RPC框架
- 從零開始實現multipart/form-data資料提交ORM
- 「基礎搭建」從零開始,基於 Webpack5 搭建一個 Vue-CliWebVue
- 從零開始寫一個微前端框架-沙箱篇前端框架
- 從零開始搭建 gRPC 服務 – Golang 篇(一)RPCGolang
- javaSE從零開始04_java的基礎語法Java
- 基於 Scriptable 從零開始美化iOS桌面(一)iOS
- Kotlin基礎篇——從型別系統開始Kotlin型別
- 從零開始的Java RASP實現(一)Java
- 大資料零基礎由入門到實戰大資料
- 電商資料分析全攻略:從零開始提升運營效率
- 【Python零基礎】19天從零開始學Python——第一天Python
- 從零開始手寫一個微前端框架-渲染篇前端框架
- 從零開始實現一個RPC框架(一)RPC框架
- 從零開始JAVA資料結構學習筆記(一)Java資料結構筆記
- 大資料系列零基礎由入門到實戰大資料