pandas基礎 DataFrame結構

2021-09-11 19:28:26 字數 3017 閱讀 3008

dataframe結構

dataframe是乙個【**型】的資料結構,可以看做是【由series組成的字典】(共用同乙個索引)。dataframe由按一定順序排列的多列資料組成。設計初衷是將series的使用場景從一維拓展到多維。dataframe既有行索引,也有列索引。

ds1 = pd.series([1

,2,3

,4], name=

"id"

)ds2 = pd.series([10

,20,30

,40], name=

"語文"

)ds3 = pd.series(

[100

,200

,300

,400

], name=

"數學"

)df1 = pd.dataframe(

[ds1, ds2, ds3]

)df1

dataframe的建立

最常用的方法是傳遞乙個字典來建立。dataframe以字典的鍵作為每一【列】的名稱,以字典的值(乙個陣列)作為每一列。

此外,dataframe會自動加上每一行的索引(和series一樣)。

df2 = pd.dataframe(

)df2

結果:

預設情況下,如果不指定index引數和columns,那麼他們的值將從0開始的數字替代。

df3 = pd.dataframe(np.random.randn(4,

3))df3

結果:

dataframe屬性:values、columns、index、shape

score_data = np.random.randint(60,

100, size=(5

,3))

stu_name =

['張三'

,'李四'

,'王五'

,'趙六'

,'錢七'

]subject =

['數學'

,'語文'

,'英語'

]df1 = pd.dataframe(data=score_data, columns=subject, index=stu_name)

df1

dataframe的索引操作
df1 = pd.read_excel(

'豆瓣電影資料.xlsx'

)#顯示前5個

df1.head(

)

df1[

'名字'

].head(

)

df1.名字.tail(

)

df1.loc[

1]

df1.iloc[

1]

【注意】 直接用中括號時:

df1[1:

5]

dit =

s = pd.series(data=dit)

strue

)df1.tail(

)

df1.drop(

[38739])

.tail(

)

投影資料

df1[

["名字"

,"型別"]]

.head(

)

df1[

'序號']=

range(1

,len

(df1)+1

)df1.head(

)

df1.drop(

'序號'

, axis=1)

.head(

)

df1[df1.產地 ==

'美國'

].head(

)

df1[

(df1.產地==

'美國')&

(df1.評分<=5)

].head(

)

df1[

((df1.產地==

'美國')|

(df1.產地==

'中國大陸'))

&(df1.評分<=5)

].head(

)

資料操作

(1) dataframe之間的運算

同series一樣:

在運算中自動對齊不同索引的資料 如果索引不對應,則補nan

(2) series與dataframe之間的運算

【重要】

使用python操作符:以行為單位操作(引數必須是行),對所有行都有效。(類似於numpy中二維陣列與一維陣列的運算,但可能出現nan)

使用pandas操作函式:

axis=0:以列為單位操作(引數必須是列),對所有列都有效。

axis=1:以行為單位操作(引數必須是行),對所有行都有效。

缺失值及異常值的處理

填充缺失值

fillna

對於異常值的處理

比如投票人數小於0, 投票人數為小數了

在不影響整體資料分布時,可以直接刪除就行

其他屬性異常值,以格式轉換為主

Pandas統計分析基礎之DataFrame

3 更改dataframe中的資料 4 增加dataframe中的資料 刪除dataframe中的資料 dataframe類似於資料庫的表或者excel的 panda將資料讀取之後,以dataframe的資料結構儲存在記憶體中。下面就來介紹一下dataframe的增刪查改操作。因為dataframe...

pandas列相加 Pandas 基礎

git 上pandas學習教程,共有十章 4個板塊 pandas基礎 四類操作 四類資料 例子。原文內容系統的講解了pandas庫的使用方法,編排邏輯易懂,覆蓋面廣且含有相應練習,之前已經學習過pandas,但是感覺應用時有些費力,計畫重新按照學習教程再梳理一遍,爭取10天完成學習,enjoy ti...

pandas基礎運算

python for data analysis pandas可以對不同索引的物件進行算術運算。例如 當物件相加時,如果存在不同的索引對,其結果的索引就是該索引對的並集。自動的資料對齊操作在不重疊的索引處引入了na值。並且會在算術運算中傳播。in 1 import numpy as np in 2 ...