資料分析02 Pandas資料結構

2021-10-02 03:23:29 字數 1782 閱讀 6112

import numpy as np

import pandas as pd

from pandas import series,dataframe

由ndarray建立的是引用,而不是副本。對series元素的改變也會改變原來的ndarray物件中的元素。(列表沒有這種情況)

建立(1)列表建立

series(value,index)

nd = np.array([0,2,4,6])

s = series(nd, index = [「a」,「b」,「c」,「d」])

(2)字典建立

s = series(data = , index = [「a」,「pi」,「e」,「g」,「kk」])

索引(1)顯示

使用index中的元素作為索引值,直接用中括號

s[「e」]

使用.loc(推薦)

s.loc[「e」]

(2)隱式

使用整數作為索引值

使用.iloc(推薦)注意,使用iloc進行切片的時候,都是左閉右開的

注意:乙個中括號和兩個中括號返回的資料是不一樣的(重要的)

屬性data.shape

data.size

data.index

data.values

檢視樣式

pd.read_csv()

head()

tail()

檢測空值

pd.isnull()

pd.notnull()

或data.isnull()

data.notnull()

返回元素是boolean 型別的值 如果為空的話, 返回true 如果不為空的話, 返回false #注意事項:對於dataframe而言, 每一列資料其實都是乙個series, 並且都是有name屬性的

series運算

(1)適用於numpy的陣列運算也適用於series

(2)series之間的運算:在運算中自動補齊不同索引的資料;如果索引不對應,則補nan

三類資料:

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

dataframe既有行索引,也有列索引。

(1)建立dataframe

最常用的方法是傳遞乙個字典來建立

dataframe屬性:values、columns、index、shape

(2)索引

a.列索引:

可以將dataframe的列獲取為乙個series。返回的series擁有原dataframe相同的索引,且name屬性也已經設定好了,就是相應的列名。

方式一:類似字典;

方式二:通過屬性的方式,取多個的時候採用兩個中括號

b.行索引

(3)運算

a.dataframe運算

同series一樣:

在運算中自動對齊不同索引的資料

如果索引不對應,則補nan;兩個dataframe進行相加的時候,axis是不起作用的

b.series與dataframe之間的運算

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

使用pandas操作函式:

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

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

02 Pandas 資料結構

pandas 處理以下三個資料結構 這些資料結構構建在 numpy 陣列之上,這意味著它們很快。考慮這些資料結構的最好方法是,較高維資料結構是其較低維資料結構的容器。例如,dataframe是series的容器,panel是dataframe的容器。資料結構 維數描述系列1 1d 標記均勻陣列,大小...

Python資料分析Pandas庫資料結構 一

import pandas as pd import numpy as np s pd.series 1,2,3,4,np.nan,9,9 s2 pd.date range 20181201 periods 6 periods週期 import pandas as pd import numpy a...

python資料探勘02 pandas基礎

一.pandas引入 from pandas import series,dataframe import pandas as pd 二.pandas的資料結構 1.series series是一種類似一維陣列的物件,他由一組資料 各種numpy資料型別 以及一組與之相關的資料標籤 即索引 組成。o...