Panads
介紹
Pandas通常是用于數(shù)據(jù)分析過程中, 數(shù)據(jù)的清洗, 數(shù)據(jù)預(yù)處理, 數(shù)據(jù)的描述性分析等過程中.
在整個Python數(shù)據(jù)分析的生態(tài)環(huán)境中, Pandas的地位非常重要, 利用Pandas可以快速便捷的對數(shù)據(jù)進(jìn)行各種各樣的處理與操作.
Pandas的名稱來自于面板數(shù)據(jù)(panel data)和python數(shù)據(jù)分析(data analysis)。
在Pandas中, 最重要的兩種數(shù)據(jù)結(jié)構(gòu)是1維的Series和2維的DataFrame.
Series:一維數(shù)組,與Numpy中的一維array類似。二者與Python基本的數(shù)據(jù)結(jié)構(gòu)List也很相近。
Series中能保存不同種數(shù)據(jù)類型,字符串、boolean值、數(shù)字等都能保存在Series中。但是每個Series中只能保存一種數(shù)據(jù)結(jié)構(gòu).
DataFrame:二維的表格型數(shù)據(jù)結(jié)構(gòu)。有多個Series共同構(gòu)成的集合就變成DataFrame.
Pandas是基于Numpy的一個數(shù)據(jù)分析包, 它里面的內(nèi)核是Numpy
Series
Series 是一個帶有 名稱 和 索引 的一維數(shù)組
既然是數(shù)組,肯定要說到的就是數(shù)組中的元素類型,在 Series 中包含的數(shù)據(jù)類型可以是整數(shù)、浮點、字符串、Python對象等。
import numpy as np
import pandas as pd
pd.Series(data)
擴展:
s = pd.Series(data ,name='英雄年齡' , index= ['蜘蛛俠', '滅霸', '奇異博士', '鋼鐵俠', '蝙蝠俠', '索爾'],dtype='int32')
s
蜘蛛俠 22 滅霸 3000 奇異博士 33 鋼鐵俠 37 蝙蝠俠 40 索爾 1500 Name: 英雄年齡, dtype: int32
字典構(gòu)建Series:
d = {'粵菜': 3,
"川菜": 2 ,
"魯菜": 1,
"閩菜": 4,
"蘇菜": 5}
pd.Series(d)
Series的索引和切片
1.字典式索引:同字典的方法,注意:閉區(qū)間,可以增加和修改
2.列表式:同列表,注意:左閉右開,可以修改但是不能增加
字典式索引和列表式:只能用于步長一樣的提取。
3.傳入索引序列的方式:既可以用標(biāo)簽, 也可以用位置,把你要提取的數(shù)據(jù)的標(biāo)簽或位置打包成一個序列,注意事項: 必須打包再傳遞。
標(biāo)簽:s[ ['蜘蛛俠', '滅霸', '蝙蝠俠'] ]
位置:s[ [0, 1, -1] ]
刪除數(shù)據(jù)
df.pop()可以彈出指定數(shù)據(jù)
df.drop() 可以刪除指定數(shù)據(jù):
重要參數(shù): inplace:
(默認(rèn))設(shè)置為假, 會生成一個新的數(shù)據(jù), 原來的數(shù)據(jù)不變.
當(dāng)設(shè)置為真的時候, 會直接在原數(shù)據(jù)中進(jìn)行操作
思考: 我們什么時候用假, 什么時候用真?
用假的情形:
做一些操作測試, 還沒有最終確定要進(jìn)行這個操作, 就可以用inplace=False.為了以防萬一, 保留原來的數(shù)據(jù), 同時生成一個新的繼續(xù)操作.
用真的情況:
我們已經(jīng)可以確定這個操作沒有問題, 就是要在原數(shù)據(jù)上修改.
兩者最大的區(qū)別:
對內(nèi)存的使用效率, 占用4G的內(nèi)存,
如果是假, 就會復(fù)制一個新的4G內(nèi)存數(shù)據(jù), 占用內(nèi)存更多.
如果是真, 直接在原數(shù)據(jù)上操作, 仍然是只占用4G內(nèi)存.
思考: 什么時候用標(biāo)簽索引(顯式), 什么時候用位置索引(隱式).
當(dāng)你知道標(biāo)簽是什么, 想要提取數(shù)據(jù)的時候就用標(biāo)簽索引.
提取紅塔證券的.
當(dāng)你知道的是數(shù)據(jù)在表中的位置的時候, 就用位置索引.
舉例: 提取數(shù)據(jù)中的第100個到第200個.
Series計算:與adarray相同








暫無數(shù)據(jù)