Python pandas如何獲取數(shù)據(jù)的行數(shù)和列數(shù)
Python pandas獲取數(shù)據(jù)的行數(shù)和列數(shù)
import pandas as pd df = pd.DataFrame({'Country':['China','China', 'India', 'India', 'America', 'Japan', 'China', 'India'], 'Income':[10000, 10000, 5000, 5002, 40000, 50000, 8000, 5000], 'Number':[5000, 4321, 1234, 4010, 250, 250, 4500, 4321]})
法一:
df.shape#返回df的行數(shù)和列數(shù)
輸出:
(8, 3)
df.shape[0]#返回df的行數(shù)
輸出:
8
df.shape[1]
輸出:
3
法二:
df.info()
輸出:
pandas獲取數(shù)據(jù)以及數(shù)據(jù)概覽
1 數(shù)據(jù)獲取
先引入必要的庫
import pandas as pd import numpy as np
1.1 讀取數(shù)據(jù)
使用方法:pandas.read_csv()
參數(shù):
(1)文件所在的路徑
(2)headers:設(shè)置參數(shù)headers=None,pandas將不會自動(dòng)將數(shù)據(jù)集的第一行設(shè)置為列表表頭(列名)
other_path = "https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/auto.csv" df = pd.read_csv(other_path, header=None)
- 查閱數(shù)據(jù)集的前n行,使用函數(shù)df.head(n);
- 查閱數(shù)據(jù)集的倒數(shù)后n行,使用函數(shù)df.tail(n)
df.head(5)
輸出:
df.tail(10)
輸出:
1.2 為數(shù)據(jù)集添加列名(表頭)
觀察上面讀取出來的部分?jǐn)?shù)據(jù),pandas自動(dòng)將列名(表頭)設(shè)置為從0開始的數(shù)字標(biāo)簽。
需要我們手動(dòng)添加能夠幫助我們更好理解數(shù)據(jù)的列名:
首先創(chuàng)建出一個(gè)列表headers,里面內(nèi)容就是每列的名稱,然后使用方法:df.columns = headers來將列名替換成我們剛才設(shè)置的。
headers = ["symboling","normalized-losses","make","fuel-type","aspiration", "num-of-doors","body-style", "drive-wheels","engine-location","wheel-base", "length","width","height","curb-weight","engine-type", "num-of-cylinders", "engine-size","fuel-system","bore","stroke","compression-ratio","horsepower", "peak-rpm","city-mpg","highway-mpg","price"] df.columns = headers df.head(10)
輸出:
1.3 刪除某些具有空值的“臟數(shù)據(jù)”
觀察上面的部分?jǐn)?shù)據(jù),發(fā)現(xiàn)有一些值為“?” 的行代表空值,首先需要先將這些“?”標(biāo)志替換為NaN,然后使用方法dropna()來移除這些臟數(shù)據(jù)。
df1=df.replace('?',np.NaN)
下面使用方法dropna來刪除臟數(shù)據(jù)行。
關(guān)于方法dropna():
參數(shù):
(1)axis: default 0指刪除行,1為刪除列
(2)subset:對特定的列進(jìn)行缺失值刪除處理
(3)how: {‘any’, ‘all’}, default ‘any’指帶缺失值的所有行;'all’指清除全是缺失值的
(4)thresh:int,保留含有int個(gè)非空值的行
(5)inplace:True表示直接在原數(shù)據(jù)上更改
df=df1.dropna(subset=["price"], axis=0) df.head(20)
上面的調(diào)用,表示,刪除“price”列為空值的行。
輸出:
可以看出,原來行9的“price”列為空值,所以行9被刪除。
1.4 查看數(shù)據(jù)的列名列表
df.columns
輸出:
1.5 保存某個(gè)數(shù)據(jù)集
我們可以將處理過的dataframe(df)保存成某種格式(例如:.csv)的文件,方便以后進(jìn)行讀取。
使用方法df.to_csv(“文件要保存的路徑”, index = False)
df.to_csv("automobile.csv", index=False)
注:參數(shù)index的含義為“是否保留行索引”, 默認(rèn)為True
當(dāng)然我們可以讀取其他格式的數(shù)據(jù),對數(shù)據(jù)操作完成后,我們也同樣可以將數(shù)據(jù)保存為不同的格式,下圖顯示了讀取其他格式文件以及將數(shù)據(jù)集保存為其他格式的方法:
2 數(shù)據(jù)概覽
2.1 查看每列數(shù)據(jù)的類型
dataframe的屬性dtypes可以返回表示每列數(shù)據(jù)名稱及類型的列表:
print(df.dtypes)
輸出:
第一列為列名,第二列為數(shù)據(jù)的類型
2.2 獲取每列數(shù)據(jù)的統(tǒng)計(jì)特征(eg:總行數(shù),列數(shù)據(jù)的平均值、標(biāo)準(zhǔn)差,etc)
使用:dataframe.describe()即可查看每列數(shù)據(jù)的
(1)總行數(shù)統(tǒng)計(jì)count
(2)平均值mean
(3)標(biāo)準(zhǔn)差std
(4)最小值min
(5)25%分位值“25%”
(6)50%分位值“50%”
(7)75%分位值“75%”
(8)最大值max
df.describe()
輸出:
注意:方法describe()只統(tǒng)計(jì)(沒有任何參數(shù)的情況下)數(shù)據(jù)類型(numeric-typed數(shù)據(jù)類型,例如int,float等)列的統(tǒng)計(jì)特征,并且會自動(dòng)NaN值。
如果我們想查看所有列的統(tǒng)計(jì)特征(即包括非數(shù)據(jù)類型的列,例如object類型的列),就需要在describe()方法中添加參數(shù)(include = “all”)
df.describe(include = "all")
輸出:
2.3 獲取指定列的統(tǒng)計(jì)學(xué)特征
使用如下語句:
dataframe[[‘column1’, ‘column2’, ‘column3’]].describe()
df[['length', 'compression-ratio']].describe()
輸出:
2.4 使用方法info()來查看dataframe的簡介描述
使用如下語句:
dataframe.info()
此方法打印有關(guān)dataframe的信息,包括索引dtype和列、非空值和內(nèi)存使用情況。
df.info()
輸出:
2.5 查看數(shù)據(jù)的行數(shù)及列數(shù)
通過屬性shape,獲取數(shù)據(jù)集的(行數(shù),列數(shù))
ratings_df.shape
輸出:
(463, 19)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
pytorch GAN偽造手寫體mnist數(shù)據(jù)集方式
今天小編就為大家分享一篇pytorch GAN偽造手寫體mnist數(shù)據(jù)集方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01使用Python代碼進(jìn)行PowerPoint演示文稿的合并與拆分
多個(gè)PowerPoint演示文稿的處理可能會成為非常麻煩的工作,有時(shí)需要將多個(gè)演示文稿合并為一個(gè)演示文稿,從而不用在演示時(shí)重復(fù)打開演示文稿,本文我們可以使用Python代碼來快速、準(zhǔn)確的執(zhí)行PowerPoint演示文稿的合并于拆分操作,需要的朋友可以參考下2024-03-03Python+wxPython構(gòu)建中文OCR截圖工具
隨著數(shù)字化時(shí)代的到來,我們經(jīng)常需要從圖像中提取文本信息,本文將介紹如何使用Python編程語言和wxPython圖形用戶界面庫構(gòu)建一個(gè)簡單的中文OCR截圖工具,需要的可以參考下2023-08-08python3實(shí)現(xiàn)短網(wǎng)址和數(shù)字相互轉(zhuǎn)換的方法
這篇文章主要介紹了python3實(shí)現(xiàn)短網(wǎng)址和數(shù)字相互轉(zhuǎn)換的方法,涉及Python操作字符串的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04利用Python如何實(shí)現(xiàn)一個(gè)小說網(wǎng)站雛形
這篇文章主要給大家介紹了關(guān)于利用Python如何實(shí)現(xiàn)一個(gè)小說網(wǎng)站雛形的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11