用 Python 載入資料的 5 種不同方式
資料是資料科學家的基礎,因此瞭解許多載入資料進行分析的方法至關重要。在這裡,我們將介紹五種Python資料輸入技術,並提供程式碼示例供您參考。
作為初學者,您可能只知道一種使用p andas.read_csv 函式讀取資料的方式(通常以CSV格式)。它是最成熟,功能最強大的功能之一,但其他方法很有幫助,有時肯定會派上用場。
我要討論的方法是:
Manual 函式
loadtxt 函式
genfromtxtf 函式
read_csv 函式
Pickle
我們將用於載入資料的資料集可以在找到 。它被稱為100-Sales-Records。
Imports
我們將使用Numpy,Pandas和Pickle軟體包,因此將其匯入。
1. Manual Function
這是最困難的,因為您必須設計一個自定義函式,該函式可以為您載入資料。您必須處理Python的常規歸檔概念,並使用它來讀取 .csv 檔案。
讓我們在100個銷售記錄檔案上執行此操作。
嗯,這是什麼????似乎有點複雜的程式碼!!!讓我們逐步打破它,以便您瞭解正在發生的事情,並且可以應用類似的邏輯來讀取 自己的 .csv檔案。
在這裡,我建立了一個 load_csv 函式,該函式將要讀取的檔案的路徑作為引數。
我有一個名為data 的列表, 它將具有我的CSV檔案資料,而另一個列表 col 將具有我的列名。現在,在手動檢查了csv之後,我知道列名在第一行中,因此在我的第一次迭代中,我必須將第一行的資料儲存在 col中, 並將其餘行儲存在 data中。
為了檢查第一次迭代,我使用了一個名為checkcol 的布林變數, 它為False,並且在第一次迭代中為false時,它將第一行的資料儲存在 col中 ,然後將checkcol 設定 為True,因此我們將處理 資料列表並將其餘值儲存在 資料列表中。
邏輯
這裡的主要邏輯是,我使用readlines() Python中的函式在檔案中進行了迭代 。此函式返回一個列表,其中包含檔案中的所有行。
當閱讀標題時,它會將新行檢測為 n 字元,即行終止字元,因此為了刪除它,我使用了 str.replace 函式。
由於這是一個 的.csv 檔案,所以我必須要根據不同的東西 逗號 ,所以我會各執一個字串, 用 string.split(“”) 。對於第一次迭代,我將儲存第一行,其中包含列名的列表稱為 col。然後,我會將所有資料附加到名為data的列表中 。
為了更漂亮地讀取資料,我將其作為資料框格式返回,因為與numpy陣列或python的列表相比,讀取資料框更容易。
輸出量
利弊
重要的好處是您具有檔案結構的所有靈活性和控制權,並且可以以任何想要的格式和方式讀取和儲存它。
您也可以使用自己的邏輯讀取不具有標準結構的檔案。
它的重要缺點是,特別是對於標準型別的檔案,編寫起來很複雜,因為它們很容易讀取。您必須對需要反覆試驗的邏輯進行硬編碼。
僅當檔案不是標準格式或想要靈活性並且以庫無法提供的方式讀取檔案時,才應使用它。
2. Numpy.loadtxt函式
這是Python中著名的數字庫Numpy中的內建函式。載入資料是一個非常簡單的功能。這對於讀取相同資料型別的資料非常有用。
當資料更復雜時,使用此功能很難讀取,但是當檔案簡單時,此功能確實非常強大。
要獲取單一型別的資料,可以下載 處 虛擬資料集。讓我們跳到程式碼。
這裡,我們簡單地使用了在傳入的定界符中 作為 ','的 loadtxt 函式 , 因為這是一個CSV檔案。
現在,如果我們列印 df,我們將看到可以使用的相當不錯的numpy陣列中的資料。
由於資料量很大,我們僅列印了前5行。
利弊
使用此功能的一個重要方面是您可以將檔案中的資料快速載入到numpy陣列中。
缺點是您不能有其他資料型別或資料中缺少行。
3. Numpy.genfromtxt()
我們將使用資料集,即第一個示例中使用的資料集“ 100 Sales Records.csv”,以證明其中可以包含多種資料型別。
讓我們跳到程式碼。
為了更清楚地看到它,我們可以以資料框格式看到它,即
這是什麼?哦,它已跳過所有具有字串資料型別的列。怎麼處理呢?
只需新增另一個 dtype 引數並將dtype 設定 為None即可,這意味著它必須照顧每一列本身的資料型別。不將整個資料轉換為單個dtype。
然後輸出
比第一個要好得多,但是這裡的“列”標題是“行”,要使其成為列標題,我們必須新增另一個引數,即 名稱 ,並將其設定為 True, 這樣它將第一行作為“列標題”。
即
df3 = np.genfromtxt('100 Sales Records.csv', delimiter=',', dtype=None, names=True, encoding='utf-8')
我們可以將其列印為
4. Pandas.read_csv()
Pandas是一個非常流行的資料操作庫,它非常常用。read_csv()是非常重要且成熟的 功能 之一,它 可以非常輕鬆地讀取任何 .csv 檔案並幫助我們進行操作。讓我們在100個銷售記錄的資料集上進行操作。
此功能易於使用,因此非常受歡迎。您可以將其與我們之前的程式碼進行比較,然後進行檢查。
你猜怎麼著?我們完了。這實際上是如此簡單和易於使用。Pandas.read_csv肯定提供了許多其他引數來調整我們的資料集,例如在我們的 convertcsv.csv 檔案中,我們沒有列名,因此我們可以將其讀取為
我們可以看到它已經讀取了沒有標題的 csv 檔案。您可以在官方文件中的所有其他引數 。
5. Pickle
如果您的資料不是人類可以理解的良好格式,則可以使用pickle將其儲存為二進位制格式。然後,您可以使用pickle庫輕鬆地重新載入它。
我們將獲取100個銷售記錄的CSV檔案,並首先將其儲存為pickle格式,以便我們可以讀取它。
這將建立一個新檔案 test.pkl ,其中包含來自 Pandas 標題的 pdDf 。
現在使用pickle開啟它,我們只需要使用 pickle.load 函式。
在這裡,我們已成功從pandas.DataFrame 格式的pickle檔案中載入了資料 。
學習成果
您現在知道了5種不同的方式來在Python中載入資料檔案,這可以在您處理日常專案時以不同的方式幫助您載入資料集。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3705/viewspace-2826429/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- tensorflow載入資料的三種方式
- Python操作MySQL資料庫的5種方式PythonMySql資料庫
- Python 操作 MySQL 的5種方式PythonMySql
- python的幾種輸入方式Python
- OpenSSL Engine的三種載入方式
- Redis常見的5種不同的資料型別詳解Redis資料型別
- Python頁面載入的等待方式Python
- Python Schema一種優雅的資料驗證方式Python
- Python常用的資料儲存方式有哪些?五種!Python
- Python種匯入模組的三種方式總結Python
- 淺析SpringBoot載入配置的6種方式Spring Boot
- [轉載]HTTP四種常見的POST提交資料方式HTTP
- MYSQL資料匯出備份、匯入的幾種方式MySql
- Python教程:Pandas資料轉換編碼的10種方式Python
- python連線clickhouse資料庫的兩種方式小結Python資料庫
- Python資料儲存方式有幾種?如何使用?Python
- 實現圖片懶載入的三種方式
- HBase協處理器載入的三種方式
- 用Python程式碼實現5種最好的、簡單的資料視覺化!Python視覺化
- [MySQL光速入門]022 插入資料的兩種方式(番外)MySql
- asp.net 中兩種不同方式檔案流下載的區別?ASP.NET
- Express 提交資料的幾種方式Express
- Android:使用LoadingLayout來展示載入資料時不同狀態Android
- 資料來源Parquet之使用程式設計方式載入資料程式設計
- 5種快速易用的Python Matplotlib資料視覺化方法Python視覺化
- SNP Glue:SAP資料匯入到其他系統的多種方式
- 教你如何運用python實現不同資料庫間資料同步功能Python資料庫
- 好程式設計師大資料培訓分享HBase協處理器載入的三種方式程式設計師大資料
- 用 Python 入門資料科學Python資料科學
- 一種新的頁面載入時間檢測方式
- 遍歷資料夾的幾種方式
- 分享Python的5種高階特徵應用Python特徵
- 用Python統計次數的5種方法Python
- STM32在ArduinoIDE環境下的開發(不同的下載方式,不同的BootLoader方式,無需BootLoader方式)UIIDEboot
- 選擇排序中交換資料的不同方式出現的不同結果排序
- 三種 Post 提交資料方式
- 004.01 不同 Python 資料型別的搜尋Python資料型別
- python requests傳送不同型別的資料Python型別