- Python資料科學教程
- Python資料科學 - 首頁
- Python資料科學 - 入門
- Python資料科學 - 環境設定
- Python資料科學 - Pandas
- Python資料科學 - Numpy
- Python資料科學 - SciPy
- Python資料科學 - Matplotlib
- Python資料處理
- Python資料操作
- Python資料清洗
- Python處理CSV資料
- Python處理JSON資料
- Python處理XLS資料
- Python關係型資料庫
- Python NoSQL資料庫
- Python日期和時間
- Python資料整理
- Python資料聚合
- Python讀取HTML頁面
- Python處理非結構化資料
- Python詞元化
- Python詞幹提取和詞形還原
- Python資料視覺化
- Python圖表屬性
- Python圖表樣式
- Python箱線圖
- Python熱力圖
- Python散點圖
- Python氣泡圖
- Python 3D圖表
- Python時間序列
- Python地理資料
- Python圖資料
Python - 處理CSV資料
讀取CSV(逗號分隔值)資料是資料科學中的基本需求。通常,我們從各種來源獲取資料,這些資料可以匯出為CSV格式,以便其他系統使用。Pandas庫提供了功能,我們可以使用這些功能完整讀取CSV檔案,也可以僅讀取選定列和行的部分資料。
CSV檔案作為輸入
CSV檔案是一個文字檔案,其中列中的值以逗號分隔。讓我們考慮一下名為input.csv檔案中存在以下資料。
您可以使用Windows記事本複製貼上此資料來建立此檔案。使用記事本中的“另存為所有檔案(*.*)”選項將檔案儲存為input.csv。
id,name,salary,start_date,dept 1,Rick,623.3,2012-01-01,IT 2,Dan,515.2,2013-09-23,Operations 3,Tusar,611,2014-11-15,IT 4,Ryan,729,2014-05-11,HR 5,Gary,843.25,2015-03-27,Finance 6,Rasmi,578,2013-05-21,IT 7,Pranab,632.8,2013-07-30,Operations 8,Guru,722.5,2014-06-17,Finance
讀取CSV檔案
Pandas庫的read_csv函式用於將CSV檔案的內容作為Pandas DataFrame讀取到Python環境中。該函式可以使用檔案的正確路徑從作業系統讀取檔案。
import pandas as pd
data = pd.read_csv('path/input.csv')
print (data)
當我們執行上述程式碼時,它會產生以下結果。請注意,該函式如何建立了一個從零開始的附加索引列。
id name salary start_date dept 0 1 Rick 623.30 2012-01-01 IT 1 2 Dan 515.20 2013-09-23 Operations 2 3 Tusar 611.00 2014-11-15 IT 3 4 Ryan 729.00 2014-05-11 HR 4 5 Gary 843.25 2015-03-27 Finance 5 6 Rasmi 578.00 2013-05-21 IT 6 7 Pranab 632.80 2013-07-30 Operations 7 8 Guru 722.50 2014-06-17 Finance
讀取特定行
Pandas庫的read_csv函式也可以用於讀取給定列的某些特定行。我們使用下面顯示的程式碼對名為“salary”的列的前5行進行切片。
import pandas as pd
data = pd.read_csv('path/input.csv')
# Slice the result for first 5 rows
print (data[0:5]['salary'])
當我們執行上述程式碼時,它會產生以下結果。
0 623.30 1 515.20 2 611.00 3 729.00 4 843.25 Name: salary, dtype: float64
讀取特定列
Pandas庫的read_csv函式也可以用於讀取某些特定列。為此,我們使用名為.loc()的多軸索引方法。我們選擇顯示所有行的“salary”和“name”列。
import pandas as pd
data = pd.read_csv('path/input.csv')
# Use the multi-axes indexing funtion
print (data.loc[:,['salary','name']])
當我們執行上述程式碼時,它會產生以下結果。
salary name 0 623.30 Rick 1 515.20 Dan 2 611.00 Tusar 3 729.00 Ryan 4 843.25 Gary 5 578.00 Rasmi 6 632.80 Pranab 7 722.50 Guru
讀取特定列和行
Pandas庫的read_csv函式也可以用於讀取某些特定列和特定行。為此,我們使用名為.loc()的多軸索引方法。我們選擇顯示某些行的“salary”和“name”列。
import pandas as pd
data = pd.read_csv('path/input.csv')
# Use the multi-axes indexing funtion
print (data.loc[[1,3,5],['salary','name']])
當我們執行上述程式碼時,它會產生以下結果。
salary name 1 515.2 Dan 3 729.0 Ryan 5 578.0 Rasmi
讀取特定列的特定行範圍
Pandas庫的read_csv函式也可以用於讀取某些特定列和特定行範圍。為此,我們使用名為.loc()的多軸索引方法。我們選擇顯示某些行的“salary”和“name”列。
import pandas as pd
data = pd.read_csv('path/input.csv')
# Use the multi-axes indexing funtion
print (data.loc[2:6,['salary','name']])
當我們執行上述程式碼時,它會產生以下結果。
salary name 2 611.00 Tusar 3 729.00 Ryan 4 843.25 Gary 5 578.00 Rasmi 6 632.80 Pranab