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