Panada——系列Series

2018-06-01  本文已影响0人  d1b0f55d8efb

一、pandas概述

pandas :pannel data analysis(面板数据分析)。pandas是基于numpy构建的,为时间序列分析提供了很好的支持。pandas中有两个主要的数据结构,一个是Series,另一个是DataFrame。


pandas

二、数据结构 Series

Series 类似于一维数组与字典(map)数据结构的结合。它由一组数据和一组与数据相对应的数据标签(索引index)组成。这组数据和索引标签的基础都是一个一维ndarray数组。可将index索引理解为行索引。 Series的表现形式为:索引在左,数据在右。

from pandas import Series
x=Series([1,2,3])
print(x)
print(x.values) # [1 2 3]
print(x.index) # RangeIndex(start=0, stop=3, step=1)
0    1
1    2
2    3

# 索引

# 指定Series的index
x=Series([1,2,3],index=['a','b','c'])
print(x) # 指定Series的index
a    1
b    2
c    3
#通过索引来获取元素值
print(x['a'])
1
#通过行索引来赋值
x['b']=2222
print(x)
a       1
b    2222
c       3
#类似于numpy的花式索引
print(x[['c','b']])
c       3
b    2222
# 类似于numpy的布尔索引
print(x[x>2])
b    2222
c       3
#类似于字典的使用:是否存在该索引:True
print('b' in x)
True
#追加一个序列
n = Series(['xinzeng'])
#需要使用一个变量来承载变化
x = x.append(n)
print(x)
a          1
b       2222
c          3
0    xinzeng

使用字典来生成Series

data = {'a':1, 'b':2, 'd':3, 'c':4}
x=Series(data)
print(x)
a    1
b    2
d    3
c    4
#使用字典生成Series,并指定额外的index,不匹配的索引部分数据为NaN
exindex = ['a', 'b', 'c', 'e']
y=Series(data,index=exindex)
print(y)
a    1.0
b    2.0
c    4.0
e    NaN
dtype: float64
#Series相加,相同行索引相加,不同行索引则数值为NaN
print(x+y)
a    2.0
b    4.0
c    8.0
d    NaN
e    NaN
#指定Series/索引的名字
y.name = 'weight of letters'
y.index.name = 'letter'
print(y)
a    1.0
b    2.0
c    4.0
e    NaN
Name: weight of letters
#替换index
y.index = ['a', 'b', 'c', 'f']
print(y)
a    1.0
b    2.0
c    4.0
f    NaN
Name: weight of letters
上一篇下一篇

猜你喜欢

热点阅读