Pandas是Python中一個開源的數據分析和處理庫,其提供了眾多數據結構和函數,可以方便地進行數據讀取、清洗、轉換等操作。而Pandas庫中的read_table函數可以讀取多種格式的數據,包括CSV、TSV、JSON、HTML、Excel等,非常實用。本文將詳細講解如何使用Pandas庫中的read_table函數來讀取數據。
一、讀取CSV格式數據
CSV(Comma Separated Values)是一種常見的數據存儲格式,每一行數據以逗號分隔,每組數據之間用換行符分隔。下面是一個示例的CSV數據:
Date,Open,High,Low,Close,Volume,Adj Close 2020-12-31,683.92,696.60,675.00,705.67,496100,705.67 2020-12-30,692.29,696.60,666.14,672.01,894400,672.01 2020-12-29,660.97,669.90,655.00,665.99,452300,665.99 2020-12-28,666.79,667.00,655.26,663.69,208800,663.69 2020-12-24,669.94,680.50,666.14,663.16,380800,663.16
這裡演示如何使用read_table函數讀取CSV格式數據:
import pandas as pd # 讀取CSV數據 data = pd.read_table('data.csv', sep=',') # 列印前五行數據 print(data.head())
執行以上代碼,輸出結果為:
Date Open High Low Close Volume Adj Close 0 2020-12-31 683.92 696.60 675.00 705.67 496100 705.67 1 2020-12-30 692.29 696.60 666.14 672.01 894400 672.01 2 2020-12-29 660.97 669.90 655.00 665.99 452300 665.99 3 2020-12-28 666.79 667.00 655.26 663.69 208800 663.69 4 2020-12-24 669.94 680.50 666.14 663.16 380800 663.16
在read_table函數中,我們需要指定數據文件的路徑和分隔符。這裡我們使用逗號作為分隔符,因此設置sep參數為’,’。
二、讀取TSV格式數據
TSV(Tab Separated Values)與CSV格式數據類似,但使用製表符而不是逗號分隔數據。下面是一個示例的TSV數據:
Date Open High Low Close Volume Adj Close 2020-12-31 683.92 696.60 675.00 705.67 496100 705.67 2020-12-30 692.29 696.60 666.14 672.01 894400 672.01 2020-12-29 660.97 669.90 655.00 665.99 452300 665.99 2020-12-28 666.79 667.00 655.26 663.69 208800 663.69 2020-12-24 669.94 680.50 666.14 663.16 380800 663.16
這裡演示如何使用read_table函數讀取TSV格式數據:
import pandas as pd # 讀取TSV數據 data = pd.read_table('data.tsv', sep='\t') # 列印前五行數據 print(data.head())
執行以上代碼,輸出結果與讀取CSV格式數據的結果相同。
與CSV數據類似,我們需要在read_table函數中設置分隔符參數為製表符\t。
三、讀取帶表頭的文本數據
有些文本數據可能沒有表頭,我們需要手動指定表頭。下面是一個示例的文本數據:
2020-12-31,683.92,696.60,675.00,705.67,496100,705.67 2020-12-30,692.29,696.60,666.14,672.01,894400,672.01 2020-12-29,660.97,669.90,655.00,665.99,452300,665.99 2020-12-28,666.79,667.00,655.26,663.69,208800,663.69 2020-12-24,669.94,680.50,666.14,663.16,380800,663.16
這裡演示如何讀取帶表頭的文本數據:
import pandas as pd # 讀取文本數據,手動指定表頭 data = pd.read_table('data.txt', sep=',', header=None, names=['Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'Adj Close']) # 列印前五行數據 print(data.head())
這裡我們使用了read_table函數的header和names參數來指定表頭。header參數為None,表示原數據沒有表頭。names參數是一個包含列名列表,用來指定新表頭。
四、讀取部分數據
有時候我們可能只需要讀取數據中的部分內容,而不是全部內容。Pandas提供了head、tail和iloc等函數來讀取數據的前幾行、後幾行或指定行/列的數據。下面是一些示例代碼:
讀取前幾行數據
import pandas as pd # 讀取CSV數據的前三行 data = pd.read_table('data.csv', sep=',', nrows=3) # 列印前三行數據 print(data.head())
這裡我們使用了read_table函數的nrows參數來指定讀取的行數,這裡是前三行。
讀取後幾行數據
import pandas as pd # 讀取CSV數據的後三行 data = pd.read_table('data.csv', sep=',', skiprows=2 + 3, nrows=3) # 列印後三行數據 print(data.head())
這裡我們使用了read_table函數的skiprows參數來跳過前5行,再使用nrows參數來指定讀取的行數,這裡是後三行。
讀取指定行/列的數據
import pandas as pd # 讀取CSV數據的第1、3、5行和第1、3列 data = pd.read_table('data.csv', sep=',', usecols=[0, 2, 4], nrows=5, skiprows=[1, 3]) # 列印指定數據 print(data)
這裡我們使用了read_table函數的usecols參數來指定列名列表,用來選擇需要讀取的列。另外,使用skiprows參數來跳過指定的行數,這裡是第2和第4行。
總結
通過本文的講解,我們了解了Pandas庫中的read_table函數如何讀取不同格式的數據,並且學習了如何指定表頭、讀取部分數據等功能。Pandas庫提供了許多方便實用的函數,可以大大提高數據處理的效率和準確性。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/155269.html