Pandas學習總結(一)

2021-10-24 08:26:30 字數 3778 閱讀 8168

pandas是python的核心資料支援庫,提供了快速、靈活、明確的資料結構,旨在簡單、直觀的出路關係型、標記型資料。

1.1pandas處理的資料型別

與sql或excel表類似的,含異構列的**資料;

有序和無序(非固定頻率)的時間序列資料;

帶行列標籤的矩陣資料,包括異構或同構型資料;

任意其他形式的觀測、統計資料集,資料轉入pandas。

pandas處理浮點與非浮點資料裡的缺失資料,表示為nan。

pandas 的主要資料結構是 series(一維資料)與 dataframe(二維資料)

大小可變:插入或刪除 dataframe 等多維物件的列

自動、顯式資料對齊:顯式地將物件與一組標籤對齊,也可以忽略標籤,在 series、dataframe 計算時自動與資料對齊

series:一維維數,帶標籤的一維同構陣列

dataframe:二維維數,帶標籤的,大小可變的,二維異構**。

pandas 資料結構就像是低維資料的容器。比如,dataframe 是 series 的容器,series 則是標量的容器。使用這種方式,可以在容器中以字典的形式插入或刪除物件。

處理 dataframe 等**資料時,index(行)或 columns(列)比 axis 0 (也代表行)和 axis 1 (代表列)更直觀。

2.1資料結構大小可變與資料複製

pandas 所有資料結構的值都是可變的,但資料結構的大小並非都是可變的,比如,series 的長度不可改變,但 dataframe 裡就可以插入列。

pandas 裡,絕大多數方法都不改變原始的輸入資料,而是複製資料,生成新的物件。 一般來說,原始輸入資料不變更穩妥。

3.1series物件

series物件是乙個帶索引的資料構成的一維陣列,用陣列生成建立,一組資料和一組索引是繫結在一起的。

建立series物件

pd.series(data,index=名稱)

import numpy as np     #匯入資料庫numpy和pandas

import pandas as pd

s = pd.series([1

,3,5

,np.nan,6,

8])#series:一維資料結構

s

0 1.0

1 3.0

2 5.0

3 nan

4 6.0

5 8.0

dtype: float64

可以通過values屬性和index屬性獲取資料

使用values屬性獲取資料值

s.values

array([1

.,3.

,5., nan,6.

,8.]

)

使用index檢視索引號

s.index

rangeindex(start=

0, stop=

6, step=

1)

index也可以加上行的名稱

#index代表:行名

d = pd.series(

[0.25

,0.5

,0.75

,1.0

],index=

['a'

,'b'

,'c'

,'d'])

d

a 0.25

b 0.50

c 0.75

d 1.00

dtype: float64

使用字典建立乙個series物件

p =

ppop = pd.series(p)

pop

cal 38332

texes 26448

new 19651

flo 19552

ill 12882

dtype: int64

3.2 dataframe物件

dataframe包含既有靈活的行索引,又有靈活的列名的二維陣列。

建立dataframe物件:df=pd.dataframe(data,index=行名,columns=列名)

#用含有日期時間索引與標籤的numpy陣列生成dataframe

import numpy as np #匯入資料庫numpy和pandas

import pandas as pd

dates = pd.date_range(

'20200615'

,periods =6)

dates

datetimeindex(

['2020-06-15'

,'2020-06-16'

,'2020-06-17'

,'2020-06-18'

,'2020-06-19'

,'2020-06-20'],

dtype=

'datetime64[ns]'

, freq=

'd')

#np.random.randn(6,4)代表生成6行四列的隨機資料

#index代表:行名,index=dates:索引是dates資料

#columns代表:列名,columns=lisr('abcd'):代表列名為**(『abcd』)

#獲取行索引標籤

df.index

datetimeindex(

['2020-06-15'

,'2020-06-16'

,'2020-06-17'

,'2020-06-18'

,'2020-06-19'

,'2020-06-20'],

dtype=

'datetime64[ns]'

, freq=

'd')

#獲取列索引標籤

df.columns

index(

['a'

,'b'

,'c'

,'d'

], dtype=

'object'

)

檢視dataframe頭部和尾部資料

#檢視頭部

#檢視後三行資料

df.tail(3)

#檢視索引名

df.index

#檢視列名

df.columns

pandas學習總結一

import numpy as np import pandas as pd 二 建立excel檔案 df pd.dataframe 構造原始資料檔案 df.to excel e pythondemo demo1.xlsx 生成excel檔案,並存到指定檔案路徑下 print complete pd...

Pandas學習筆記 Pandas概覽(一)

pandas是python的核心資料分析支援庫,提供了快速 靈活 明確的資料結構,旨在簡單 直觀的處理關係型 資料型的資料。pandas適用於處理以下型別的資料 維數名稱描述1 series 帶標籤的一維同構陣列 2dataframe 帶標籤的,大小可變的,二維異構 pandas資料結構就像是低維資...

Pandas 之 DataFrame 學習總結

pandas 是基於 numpy 開發的,他的主要資料結構包括 series 和 dataframe,另外還有 time series panel panel4d 和 panelnd,我現在的學習中不常用到,暫不詳細介紹。資料結構 簡介series 一維陣列,與numpy中的一維array類似。二者...