用 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資料庫
- 從Xib檔案載入UIView的5種方式UIView
- IOS資料儲存常用的5種方式iOS
- Python 操作 MySQL 的5種方式PythonMySql
- OpenSSL Engine的三種載入方式
- SQLPlus的兩種登入方式的不同效果SQL
- python的幾種輸入方式Python
- iOS之網上下載資料的兩種方式iOS
- Redis常見的5種不同的資料型別詳解Redis資料型別
- Hadoop-寫入資料的幾種方式Hadoop
- Python種匯入模組的三種方式總結Python
- 資料庫不同故障的恢復方式資料庫
- Python頁面載入的等待方式Python
- [轉載]HTTP四種常見的POST提交資料方式HTTP
- iOS應用資料儲存的幾種常用方式iOS
- Python Schema一種優雅的資料驗證方式Python
- Python常用的資料儲存方式有哪些?五種!Python
- Python訪問Oracle的兩種資料獲取方式PythonOracle
- MYSQL資料匯出備份、匯入的幾種方式MySql
- HBase協處理器載入的三種方式
- 實現圖片懶載入的三種方式
- 用 Python 排序資料的多種方法Python排序
- python連線clickhouse資料庫的兩種方式小結Python資料庫
- Python教程:Pandas資料轉換編碼的10種方式Python
- asp.net 中兩種不同方式檔案流下載的區別?ASP.NET
- Python資料儲存方式有幾種?如何使用?Python
- 淺析SpringBoot載入配置的6種方式Spring Boot
- Express 提交資料的幾種方式Express
- 資料儲存的三種方式
- 資料儲存的方式(只說三種方式)
- 用Python程式碼實現5種最好的、簡單的資料視覺化!Python視覺化
- 提交資料四種方式
- 各種資料庫的jdbc驅動下載及連線方式資料庫JDBC
- 資料來源Parquet之使用程式設計方式載入資料程式設計
- 不同apk間共享資料的兩種方法APK
- SNP Glue:SAP資料匯入到其他系統的多種方式
- 好程式設計師大資料培訓分享HBase協處理器載入的三種方式程式設計師大資料