Pandas基础1(Series)

Pandas提供高性能的数据分析工具,此库主要提供了两个数据类型:SeriesDataFrame(基于ndarray的数据类型)。

Pandas对象特征:

相比于Numpy关注于数据的结构表达,Pandas更关注数据的应用表达,尤其是索引,通过对索引的改变,可以达到对数据改变的效果。

Series类型:

组成:Series类型由数据及其索引组成

创建与索引:

自定义索引:b=pd.Series([9,8,7,6],index=[‘a’,‘b’,‘c’,‘d’])

a    9
b    8
c    7
d    6
dtype: int64

默认索引:b=pd.Series([9,8,7,6])

0    9
1    8
2    7
3    6
dtype: int64

生成,创建方法:

标量创建:

s=pd.Series(25,index=['a','b','c'])
a    25
b    25
c    25
dtype: int64

字典创建:
d=pd.Series(dict)
生成的Series索引为字典的键,一 一对应字典的数值

e=pd.Series({'a':1,'b':2,'c':3},index=['c','a','b','d'])
c  3
a  1
b  2
d  NaN
dtype: float32

ndarray创建:

n=pd.Series(np.arang(23))
n=pd.Series(np.arange(5),index=np.arange(9,4,-1))
0 9
1 8
2 7
3 6
4 5
dtype: int32

基本操作:

索引:

b.index返回的是index类型数据
Index(['a', 'b', 'c', 'd'], dtype='object')
b.values返回的是array数据
<PandasArray> [9, 8, 7, 6] Length: 4, dtype: int64

现在有b=pd.Series([9,8,7,6],index=[‘a’,‘b’,‘c’,‘d’])
有两种索引方式,一种是自定义索引b[‘a’]=9,一种是自动索引b[0]=9
在索引时,必须使用同一套索引。
在同时对多个元素进行索引时,返回一个Series。

例如:
b[['a','b',0]]#混合使用时当做自定义索引
a 9
b 8
0 NaN

切片:切片的返回依然是一个Series类型

b[:3]
a 9
b 8
c 7
dtype :int64

运算

b[b>b.median()]
a 9
b 8
np.exp(b)
索引不变,值进行指数运算

同字典一样,可以使用保留字in和.get()方法:

在字典中,判断对象是否处于键中,而Series判断是否存在自定义索引列表中:

'c' in b
True
0 in b
False
b.get('f',100)提取标签f对应的数值,要是不存在则返回100

对齐操作:

b=pd.Series([1,2,3,4],index=['a','b','c','d'])
v=pd.Series([1,2,3,4],index=['a','z','c','k'])
b+v
a    2.0
b    NaN
c    6.0
d    NaN
k    NaN
z    NaN
dtype: float64

name属性:

b.name="这是Series对象"
b.index.name="索引列"
则b显示为
索引列
a    1
b    2
c    3
d    4
Name: 这是Series对象, dtype: int64

修改:
b[‘a’]=12,此时索引a对应的值已经修改
b[‘a’,‘b’]=12,此时a,b对应的值都修改为12

发布了25 篇原创文章 · 获赞 3 · 访问量 3457
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章