pandas讀取數據(1)

2021-02-25 python數據分析實踐
訪問數據是進行各類操作的第一步,本節主要關於pandas進行數據輸入與輸出,同樣的也有其他的庫可以實現讀取和寫入數據。

將表格型數據讀取為DataFrame是pandas的重要特性,下表總結了實現該功能的部分函數。

函數
描述read_csv
讀取csv文件,逗號為默認的分隔符read_table讀取table文件,也就是txt文件,制表符('\t')為默認分隔符read_clipboard
read_table的剪貼板版本,在將表格從Web頁面轉換成數據時有用read_excel讀取XLS或XLSX文件read_hdf讀取pandas存儲的HDF5文件read_html從HTML文件中讀取所有表格數據read_json從JSON字符串中讀取數據read_sql將SQL查詢結果讀取為pandas的DataFrameread_stata
讀取Stata格式的數據集read_feather讀取Feather二進位格式

根據以前的讀取經驗,read_csv、read_table、read_excel和read_json三個最為常用。

如圖一個文本文件,我們用pandas讀取。

import pandas as pddata = pd.read_table(r"C:\Users\ASUS\Desktop\test.txt")print('原始數據:\n', data)

原始數據:     1  2 3  4 apple0   5  6 7 8 orange1  7 8 9  10 banana

如果不是制表符,我們讀取的時候可以指定分隔符

data = pd.read_table(r"C:\Users\ASUS\Desktop\test.txt", sep='\s+')

如果沒有表頭,我們可以讀取的時候取消表頭

data = pd.read_table(r"C:\Users\ASUS\Desktop\test.txt", sep = '\s+', header = None)print(data[:5])

   0  1  2   3       40  1  2  3   4   apple1  5  6  7   8  orange2  7  8  9  10  banana

同時也可以指定列名

data = pd.read_table(r"C:\Users\ASUS\Desktop\test.txt", sep = '\s+', names = ['l1', 'l2', 'l3', 'l4', 'name']

    l1  l2  l3  l4    name0   1   2   3   4   apple1   5   6   7   8  orange2   7   8   9  10  banana

指定索引,可以傳給參數index_col:

data = pd.read_table(r"C:\Users\ASUS\Desktop\test.txt", sep = '\s+', names = ['l1', 'l2', 'l3', 'l4', 'name'], index_col = 'name')

         l1  l2  l3  l4name                  apple    1   2   3   4orange   5   6   7   8banana   7   8   9  10

如果想從多個列中形成分層索引,可以在index_col傳入一個列表:

data = pd.read_table(r"C:\Users\ASUS\Desktop\test.txt", sep = '\s+', names = ['l1', 'l2', 'l3', 'l4', 'name'], index_col = ['name', 'l1'])

            l2  l3  l4name   l1            apple  1    2   3   4orange 5    6   7   8banana 7    8   9  10

也可以使用skiprows跳過某一行或幾行:

data = pd.read_table(r"C:\Users\ASUS\Desktop\test.txt", sep = '\s+', skiprows = 2)data = pd.read_table(r"C:\Users\ASUS\Desktop\test.txt", sep = '\s+', skiprows = [0, 2, 3])

缺失值的處理:是文件解析中一個重要的部分。通常情況下,缺失值要麼不顯示(空字符串),要麼用一些標識值。pandas常見的標識值有:NA和NULL。

data = pd.read_table(r"C:\Users\ASUS\Desktop\test.txt", sep=',')pd.isnull(data)結果   something  a  b  c  d  message0  one  1  2  3.0  4  NaN1  two  5  6  NaN  8  world2  three  9  10  11.0  12  foo

可以對每列指定缺失值標識

sentials = {'message':['foo', 'NA'], 'something':['two']}pd.read_table(r"C:\Users\ASUS\Desktop\test.txt", sep = ',', na_values=sentials)結果  something  a  b  c  d  message0  one  1  2  3.0  4  NaN1  NaN  5  6  NaN  8  world2  three  9  10  11.0  12  NaN

分塊讀入文本文件:對於大型文件,我們可能只需要讀取一小部分,我們在讀取的時候僅需傳入nrows即可。

data = pd.read_table(r"C:\Users\ASUS\Desktop\test.txt", sep = ',', nrows = 2)結果  something  a  b  c  d  message0  one  1  2  3.0  4  NaN1  two  5  6  NaN  8  world

將數據寫入文本文件:數據寫入文本文件與數據讀取相反,用到了to_csv方法。測試數據如下:

data.to_csv(r"C:\Users\ASUS\Desktop\result.txt")

其他操作:sep可以指定分隔符;na_rep可以對缺失值進行標註;indexheader可以指定行和列的標籤是否被寫入,值為True或False;columns可以根據指定的列的順序傳入。

data.to_csv(r"C:\Users\ASUS\Desktop\result.txt", sep = '\t', na_rep = '數據缺失', index = False, header = True, columns = ['message', 'something', 'a', 'b', 'c', 'd'])

總結:

在pandas讀取文本文件(txt),常用參數有:

(1)sep:指定分隔符,默認為逗號

(2)header = None:取消讀取首行

(3)names:指定列名,是一個列表

(4)index_col:指定索引列,可以為單列,也可以為多列

(5)skiprows:跳過前n行

(6)na_values:指定缺失值標識

(7)nrows:讀取前n行

pandas輸出文本文件(txt),常用參數有:

(1)sep:指定分隔符,默認為逗號

(2)na_rep:標註缺失值

(3)index:是否輸出索引,默認輸出

(4)header:是否輸出列名,默認輸出

(5)columns:指定輸出時列的順序

數據的讀取和存儲十分重要,規範化的數據能為後續的數據分析大大節約時間。下一篇將介紹Excel的讀取和存儲。

如果覺得本文有用,可以關注公眾號——python數據分析實踐,會不定期更新文章。

相關焦點

  • 《pandas數據讀取》
    今天呢就給大家分享一個數據分析裡面的基礎內容之pandas數據讀取 數據讀取是進行數據預處理,建模與分析的前提,不同的數據源
  • Python數據分析:pandas讀取和寫入數據
    我的公眾號是關於自己在數據分析/挖掘學習過程中的一些技術和總結分享,文章會持續更新......繼續深入學習pandas相關操作,數據讀取寫入、分組、合併,轉換等等。前面一篇文章裡已經寫了關於描述性統計以及常用的基本操作。接下來的一段時間裡,我將陸續地去掌握並輸出。這篇文章是關於數據讀取與寫入的知識點。
  • 使用Pandas讀取複雜的Excel數據
    關於Excel數據處理,很多同學可能使用過Pyhton的pandas模塊,用它可以輕鬆地讀取和轉換Excel數據。但是實際中Excel表格結構可能比較雜亂,數據會分散不同的工作表中,而且在表格中分布很亂,這種情況下啊直接使用pandas就會非常吃力。本文蟲蟲給大家介紹使用pandas和openpyxl讀取這樣的數據的方法。
  • Pandas入門(讀取數據)
    一.讀取文本文件
  • Python學習120課 pandas簡介kaggle下載數據及pandas讀取外部數據
    現在我們開始學習pandas,pandas一般用的更多,pandas是基於numpy去寫的。pandas是一個專門做數據結構和數據分析的庫。●pandas的安裝推薦使用anaconda,只要安裝了anaconda,它裡面就會自帶pandas,這會為我們省去很多的麻煩。接下來就是用pandas去處理數據,數據從哪來呢?
  • pandas讀取表格後的常用數據處理操作
    pandas讀取表格後的一些常用數據處理操作。這篇文章其實來源於自己的數據挖掘課程作業,通過完成老師布置的作業,感覺對於使用python中的pandas模塊讀取表格數據進行操作有了更深層的認識,這裡做一個整理總結。
  • 基於python的大數據分析-pandas數據讀取(代碼實戰)
    長按上方二維碼加入千人QQ群基於python的大數據分析實戰學習筆記-Anaconda基於python的大數據分析實戰學習筆記-pandas(數據分析包)基於python的大數據分析實戰學習筆記-pandas之DataFrame我們常見的數據存儲格式無非就是csv、excel、txt以及資料庫等形式
  • python(pandas)讀取外部數據---使用Pandas讀寫操作txt文件
    1、準備.txt的數據文件其實pandas讀寫.txt文件和讀寫csv文件是類似的,而且使用的都是pd.read_csv()  /
  • Pandas進階Excel(一)——讀取
    今天開始介紹python可以操作Excel的另一個強大的庫——pandas庫。個人認為,pandas庫對於操作Excel有著極好的支撐。在數據導入、數據清洗、數據計算、數據導出都有著完整性的支撐,是一個提供高性能易用數據類型和分析工具,並且用一段時間你就會發現如果拿pandas只操作表格數據,是真的大材小用。 它不僅可以處理數據,更可以可視化數據。譬如可以做出這樣的圖表。
  • 乾貨 | pandas讀取csv文件數據的方法及注意點
    這篇文章介紹了利用數據分析工具pandas讀取csv文件的方法和注意點,便於迅速過渡到數據處理階段。pandas是一個高效的數據分析工具。基於其高度抽象的數據結構DataFrame,幾乎可以對數據進行任何你想要的操作。由於現實世界中數據源的格式非常多,pandas也支持了不同數據格式的導入方法,本文介紹pandas如何從csv文件中導入數據。
  • 127、使用pandas讀取文本文件
    pandas提供了一些用於將表格型數據讀取為DataFrame對象的函數,其中常用read_csv和read_table讀取文件。0.png下面出現的例子中需要讀取的文件都存放在我自己的電腦 D:Pytho\notebookpydata-book-masterch06 中。
  • 數據科學 | pandas數據導入與導出
    pandas提供了很多不同格式數據的導入和導出方法,可以將其他格式數據轉為DataFrame格式。我們可以將list、dict格式數據轉為DataFrame格式,也可以從本地的csv、json等文本格式數據和sql、MongoDB等資料庫中讀取和保存數據等等。下面就分別以三大類介紹一些常見的數據格式的導入與導出。
  • Python數據分析之pandas數據讀寫
    本節將學習pandas從多種存儲媒介(比如文件和資料庫)讀取數據的工具,還將學到直接將不同的數據結構寫入不同格式文件的方法,而無需過多考慮所使用的技術。本節的主要內容為pandas的多種I/O API函數,它們為大多數常用格式的數據作為DataFrame對象進行讀寫提供了很大便利。
  • 利用pandas讀取格式不規範的Excel文件
    ,在那些數據分散在不同Sheet的情況下,就需要自定義讀取數據的方式,這篇文章將討論如何用pandas和openpyxl讀取這類格式的Excel文件,將裡面的數據轉換為DataFrame以便進一步的分析工作。
  • python-pandas讀寫csv數據
    /pandas-docs/stable/user_guide/io.html一、使用pandas讀取和寫入csv文件pd.read_csv("filepath",[encoding='編碼'])pd.read_csv("filepath",usecols=[0,1,2,...]
  • 一篇文章就能深入理解pandas讀取excel,txt,csv文件等命令
    ://pandas.pydata.org/pandas-docs/version/0.24/reference/io.html文檔操作屬於pandas裡面的 Input/Output也就是IO操作,基本的API都在上述網址,接下來本文核心帶你理解部分常用的命令pandas讀取txt文件讀取txt文件需要確定txt文件是否符合基本的格式,也就是是否存在 \t, , ,等特殊的分隔符一般
  • Python數據處理庫pandas入門教程
    pandas提供了快速,靈活和富有表現力的數據結構,目的是使「關係」或「標記」數據的工作既簡單又直觀。它旨在成為在Python中進行實際數據分析的高級構建塊。入門介紹pandas適合於許多不同類型的數據,包括:由於這是一個Python語言的軟體包,因此需要你的機器上首先需要具備Python語言的環境。
  • pandas指南:做更高效的數據科學家
    今天我要告訴你們的是:在數據科學中,有一個軟體包是你們絕對需要學習的,那就是pandas。而pandas真正有趣的地方是,很多其他的包也在裡面。pandas是一個核心包,因此它具有來自其他各種包的特性。
  • 利用Python讀取外部數據文件
    作者:劉順祥個人微信公眾號:每天進步一點點2015不論是數據分析,數據可視化,還是數據挖掘,一切的一切全都是以數據作為最基礎的元素
  • 乾貨 | 用 pandas 讀取 csv 和 Excel 數據
    本文採用真實的股票數據作為案例,教你如何在Python中讀取常用的數據文件。接下來我們將使用 Python 中的 pandas 數據分析包來進行數據的讀取和查看。讀取的數據需要能還原原始數據中的信息,比如 Last Update 應該是時間格式的數據,而在 IPO Year 中存在 NAN這類缺失的數值,這些目前都沒有反應出來。所以下面需要設置參數,改進csv文件的讀取方式。