Pandas库的学习使用(一)
Pandas DataFrame基礎(chǔ)知識(shí)
本章主要講述pandas一些Pandas DataFrame的基礎(chǔ)知識(shí)
1.1簡(jiǎn)介
Pandas [1] 是python的一個(gè)數(shù)據(jù)分析包,最初由AQR Capital Management于2008年4月開發(fā),并于2009年底開源出來(lái),目前由專注于Python數(shù)據(jù)包開發(fā)的PyData開發(fā)team繼續(xù)開發(fā)和維護(hù),屬于PyData項(xiàng)目的一部分。Pandas最初被作為金融數(shù)據(jù)分析工具而開發(fā)出來(lái),因此,pandas為時(shí)間序列分析提供了很好的支持。 Pandas的名稱來(lái)自于面板數(shù)據(jù)(panel data)和python數(shù)據(jù)分析(data analysis)。panel data是經(jīng)濟(jì)學(xué)中關(guān)于多維數(shù)據(jù)集的一個(gè)術(shù)語(yǔ),在Pandas中也提供了panel的數(shù)據(jù)類型。
1.2加載數(shù)據(jù)集
1 import pandas as pd2 # file_path=(r'data/gapminder.tsv')3 # df=pd.read_csv(r'C:\Users\123\Desktop\pandas_exerices\data\gapminder.tsv',sep=',')#輸出的數(shù)據(jù)其中的符號(hào)為,4 df=pd.read_csv(r'C:\Users\123\Desktop\pandas_exerices\data\gapminder.tsv',sep='\t')#輸出的數(shù)據(jù)多一個(gè)table5 print(df.head())#讀取前5行的數(shù)據(jù)6 print(type(df))#檢查返回的數(shù)據(jù)是否為DataFrame7 print(df.shape)#Read the shape of the data, namely rows and columns(rows,columns)8 print(df.columns)#讀取列名9 print(df.dtypes)#讀取每列的dtype 10 print(df.info())#獲取更多信息1.2查看列和行&單元格
1.2.1獲取列子集
1 country_1=df[‘country’]#讀取數(shù)據(jù)集中名為country的一列的所python基礎(chǔ)教程有內(nèi)容并且命名為country_1
2 print(country_1.head())#打印前五列
3 print(country_1.tail())#打印后五列
4
5 subset=df[[‘country’, ‘continent’, ‘year’]]#通過(guò)列名指定多列
6 print(subset.head())
1.2.2獲取行子集
1 print(df.loc[0])#讀取第一行,python從0開始計(jì)數(shù) 2 print(df.loc[99])#讀取第100行 3 # print(df.loc[-1])無(wú)法讀取該數(shù)據(jù)集,因?yàn)樵摂?shù)據(jù)集會(huì)從搜索-1行 4 number_of_rows=df.shape[0] 5 last_row=number_of_rows-1 6 print(df.loc[last_row]) 7 print(df.tail(n=1))#tail和loc輸出的最后一行數(shù)據(jù)類型不同\ 1 #tail和loc輸出的最后一行數(shù)據(jù)類型不同 2 subset_1=df.loc[0] 3 subset_2=df.tail(1) 4 subset_3=df.iloc[0] 5 print(type(subset_2)) 6 print(type(subset_1)) 7 print(type(subset_3))1.2.2.2
1.2.3混合
1.2.3.1 獲取列子集
1 #使用loc
2 print(df.loc[42,‘country’])
3 #使用iloc
4 print(df.iloc[42,0])
df.iloc[:,:0:6:1]=df,iloc[:,::]=df.iloc[:,0:6:]=df.iloc[:,0::1]=…
1.2.4獲取行和列的子集
1 #使用loc 2 print(df.loc[42,'country']) 3 #使用iloc 4 print(df.iloc[42,0])1 #獲取continentpopgdpPercap
2 print(df.iloc[[99,98,64],[1,4,5]])
3 print(df.loc[[99,98,64],[‘continent’,‘pop’,‘gdpPercap’]])
4 #注意,在iloc和loc行部分可以使用切片語(yǔ)法
5 print(df.iloc[10:15,[2,4,5]])
6 print(df.loc[10:15,[‘year’,‘pop’,‘gdpPercap’]])
1.4分組和聚合計(jì)算
1.4.1分組方式
#計(jì)算每個(gè)國(guó)家的平均壽命
print(df.groupby(‘country’)[‘lifeExp’].mean().head(10))
#計(jì)算國(guó)家gdp和平均年齡
print(df.groupby([‘year’,‘continent’])[[‘lifeExp’,‘gdpPercap’]].mean())
1.4.2分組頻率計(jì)數(shù)
#計(jì)算頻率各大洲國(guó)家出現(xiàn)的頻率
print(df.groupby(‘continent’)[‘country’].nunique())
1.5基本繪圖
1 global_yearly_life_expectancy=df.groupby(‘year’)[‘lifeExp’].mean()
2 print(global_yearly_life_expectancy)
3 global_yearly_life_expectancy.plot()
Day 2復(fù)習(xí)
1 import pandas as pd2 df=pd.read_csv(r'C:\Users\123\Desktop\pandas_exerices\data\housing.csv',sep=',')3 print(df.head())#讀取頭文件前5行4 print(df.columns)#讀取列名5 #計(jì)算'Neighborhood'的平均、'Year.Built'6 year_groupby = df.groupby('Neighborhood')['Year.Built'].mean().reset_index()7 print(year_groupby)8 year = df.groupby('Year.Built')['Boro'].nunique()9 print(year) 10 print(df.iloc[:,::]) 11 print('*'*100) 12 print(df.iloc[:,[1,2,3]])#讀取第二三四列 13 print('*'*100) 14 print(df.loc[10:15,['Building.Classification', 'Total.Units', 'Year.Built']]) 15 #讀取第10-15行(row+1和'Building.Classification', 'Total.Units', 'Year.Built'列 16 print(df.tail(5))#讀取倒數(shù)5行總結(jié)
以上是生活随笔為你收集整理的Pandas库的学习使用(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: System32与SysWow64
- 下一篇: HTTP上传数据 :表单,二进制数据(m