詳解pandas的外部數(shù)據(jù)導(dǎo)入與常用方法
外部數(shù)據(jù)導(dǎo)入
導(dǎo)入excel文件
pandas導(dǎo)入excel用read_excel()方法:
import pandas as pd
excel_file1 = pd.read_excel('data/測(cè)試.xlsx',encoding='utf-8')
姓名 年齡 工作 工資
0 張三 25 學(xué)生 200
1 李四 24 工人 3000
2 王偉 28 NaN 5000
3 王二毛 22 自由職業(yè) 6000
第一個(gè)參數(shù)是路徑,既可以使用絕對(duì)路徑又可以使用相對(duì)路徑,如果文件名含有漢字,注意指定設(shè)置一下屬性encoding = 'utf-8',另設(shè)置sheet_name指定具體的Sheet名字,也可傳入sheet的順序,從0開(kāi)始。
excel_file1 = pd.read_excel('data/test.xlsx',sheet_name = 0)
指定索引
列索引默認(rèn)從0開(kāi)始,通過(guò)index_col設(shè)置,header設(shè)置行索引。
excel_file1 = pd.read_excel('data/測(cè)試.xlsx',encoding='utf-8',index_col=0)
年齡 工作 年資
姓名
張三 25 學(xué)生 200
李四 24 工人 3000
王偉 28 NaN 5000
王二毛 22 自由職業(yè) 6000
excel_file1 = pd.read_excel('data/測(cè)試.xlsx',encoding='utf-8',header=1)
張三 25 學(xué)生 200
0 李四 24 工人 3000
1 王偉 28 NaN 5000
2 王二毛 22 自由職業(yè) 6000
指定索引列
有時(shí)本地文件列數(shù)太多,可以設(shè)置usercols指定導(dǎo)入的列,也可以列表形式傳入多個(gè)值,表示傳入哪些列。
excel_file1 = pd.read_excel('data/測(cè)試.xlsx',encoding='utf-8',usecols=[0,2])
姓名 工作
0 張三 學(xué)生
1 李四 工人
2 王偉 NaN
3 王二毛 自由職業(yè)
常用方法
- shape() 可以獲取excel文件的行和列,以元祖形式返回;
- info() 獲取數(shù)據(jù)類型;
- astype() 可轉(zhuǎn)換列里面的數(shù)據(jù)類型,括號(hào)里是要轉(zhuǎn)換的目標(biāo)類型;如 df[列2].astype('float64') ; df['列'].dtype 可查看列的類型
- isnull() 判斷哪個(gè)值是缺失值;
- dropna() 刪除有缺失值的行,返回刪除后的數(shù)據(jù),傳入?yún)?shù)how=all,要全為空值才會(huì)刪除;
- fillna() 括號(hào)內(nèi)可直接填入要要填充的值,也可指定列填充,以 字典 形式傳參;
- drop_duplicates() 默認(rèn)對(duì)所有重復(fù)值判斷,默認(rèn)保留 keep=first 第一個(gè)行值;通過(guò) keep 修改,值可為 last ,保留最后一個(gè),還可設(shè)置 keep 為 False ,一個(gè)也不保留。另也可指定列名去重,如傳入?yún)?shù) subset =['列名1,列名2'],注意是以列表形式傳參;
- head() 傳入的參數(shù)代表獲取前幾行;
- describe() 掌握數(shù)值的分布情況,如均值,最值,方差,分位數(shù)。
- column 和 index 可設(shè)置 列索引 和 行索引 ,以 列表 形式傳參;
- set_index() 重新設(shè)置索引列,傳入要指名要用做行索引的名稱;
- reset_index(level = None,drop=False,inplace = False) ,level指定要將層次化索引的第幾級(jí)別轉(zhuǎn)化為 columns ,第一個(gè)索引為0級(jí),第二個(gè)為1級(jí),默認(rèn)全部轉(zhuǎn)化為columns。 drop 是否將原索引刪掉, inplace 是否修改原數(shù)據(jù)表;該方法常用于數(shù)據(jù)分組和數(shù)據(jù)透視表中。
- rename() 重命名索引,可重新設(shè)置 columns 和 index ,以 字典 形式傳參, key 為原值, value 為替換后的值。
導(dǎo)入CSV文件
pandas導(dǎo)入csv文件用read_csv()方法;
import pandas as pd
csv_file1 = pd.read_csv('.\\data\\train-pivot.csv',index_col=0,header=0,nrows = 2)
通過(guò) sep 設(shè)置分割符, encoding 指定編碼格式。導(dǎo)入csv文件要指定為gbk,不然會(huì)報(bào)錯(cuò),如果一個(gè)大文件你只需看前面幾行,通過(guò) nrows 設(shè)置。
import pandas as pd
csv_file1 = pd.read_csv('data/train-pivot.csv',encoding='gbk',nrows=2)
print(csv_file1)
用戶ID 客戶分類 區(qū)域 是否省會(huì) 7月銷量 8月銷量
0 59224 A類 一線城市 是 6 20 0
1 55295 B類 三線城市 否 37 27 35
可以設(shè)置 usercols 指定導(dǎo)入的列。
用戶ID 區(qū)域
0 59224 一線城市
1 55295 三線城市
2 46035 二線城市
3 2459 一線城市
4 22179 三線城市
導(dǎo)入sql
pandas中有 read_sql() 方法:
import pandas as pd
import pymysql
# 創(chuàng)建連接
conn = pymysql.connect(host = 'localhost',user = 'python',
password = 'passwd',db = 'test',
charset = 'utf-8'
)
'''
user:用戶名
password:密碼
host:數(shù)據(jù)庫(kù)地址/本機(jī)用localhost
db:數(shù)據(jù)庫(kù)名
charset:編碼,一般為utf-8
'''
sql = "SELECT * FROM user" # 寫(xiě)要執(zhí)行的sql語(yǔ)句
pd.read_sql(sql,conn)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python語(yǔ)言實(shí)現(xiàn)百度語(yǔ)音識(shí)別API的使用實(shí)例
這篇文章主要介紹了Python語(yǔ)言實(shí)現(xiàn)百度語(yǔ)音識(shí)別API的使用實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
Python數(shù)據(jù)結(jié)構(gòu)與算法中的棧詳解(2)
這篇文章主要為大家詳細(xì)介紹了Python中的棧,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03
一文學(xué)會(huì)使用OpenCV構(gòu)建文檔掃描儀
本文將使用 OpenCV,創(chuàng)建一個(gè)簡(jiǎn)單的文檔掃描儀,就像常用的攝像頭掃描儀應(yīng)用程序一樣,這篇文章主要給大家介紹了關(guān)于使用OpenCV構(gòu)建文檔掃描儀的相關(guān)資料,需要的朋友可以參考下2022-11-11
Python實(shí)現(xiàn)提取和去除數(shù)據(jù)中包含關(guān)鍵詞的行
這篇文章主要介紹了Python如何提取數(shù)據(jù)中包含關(guān)鍵詞的行已經(jīng)如何去除數(shù)據(jù)中包含關(guān)鍵詞的行,文中的示例代碼講解詳細(xì),需要的可以參考一下2023-08-08
Python+OpenCV實(shí)現(xiàn)尋找到圓點(diǎn)標(biāo)定板的角點(diǎn)
這篇文章主要為大家詳細(xì)介紹了Python+OpenCV實(shí)現(xiàn)找到圓點(diǎn)標(biāo)定板所有點(diǎn)后通過(guò)距離找兩個(gè)角點(diǎn),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-11-11
使用python編寫(xiě)android截屏腳本雙擊運(yùn)行即可
使用python編寫(xiě)一個(gè)截屏的腳本,雙擊運(yùn)行腳本就OK,截屏成功后會(huì)將截屏文件已當(dāng)前時(shí)間命名,并保存在存放腳本的當(dāng)前路徑的screenshot文件夾下2014-07-07
Python最大連續(xù)區(qū)間和動(dòng)態(tài)規(guī)劃
這篇文章主要介紹了Python最大連續(xù)區(qū)間和動(dòng)態(tài)規(guī)劃,文章圍繞Python最大連續(xù)區(qū)間和動(dòng)態(tài)規(guī)劃的相關(guān)資料展開(kāi)內(nèi)容,需要的小伙伴可以參考一下2022-01-01

