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 ...