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類似。二者...