Pandas对象
import numpy as np
import pandas as pd
1. Series对象
带有索引数据的一维数组
data = pd.Series([0.25, 0.5, 0.75, 1.0])
data
0 0.25
1 0.50
2 0.75
3 1.00
dtype: float64
从上面看出,数据和索引(第一列)绑定在一起
# values属性返回数据值
data.values
array([0.25, 0.5 , 0.75, 1. ])
# index属性返回pd.Index索引对象
data.index
RangeIndex(start=0, stop=4, step=1)
通过括号索引标签取值
data[1]
0.5
data[1:3]
1 0.50
2 0.75
dtype: float64
(1)用字符串定义索引
Numpy数组是通过隐式定义的整数索引获取值
Series对象是一种显式定义的索引与数值关联
data = pd.Series([0.25, 0.5, 0.75, 1.0], index=['a', 'b', 'c', 'd'])
data
a 0.25
b 0.50
c 0.75
d 1.00
dtype: float64
data['b']
0.5
可以使用不连续的索引
data = pd.Series([0.25, 0.5, 0.75, 1.0], index=[2, 5, 3, 7])
data
2 0.25
5 0.50
3 0.75
7 1.00
dtype: float64
data[5]
0.5
(2)Series作为特殊的字典
population_dict = {
'California': 38332521,
'Texas': 26448193,
'New York': 19651127,
'Florida': 19552860,
'Illinois': 12882135}
population = pd.Series(population_dict)
population
California 38332521
Texas 26448193
New York 19651127
Florida 19552860
Illinois 12882135
dtype: int64
索引按照顺序排列,字典取值方法也可用
population['California']
38332521
还可以切片!
population['California':'Illinois']
California 38332521
Texas 26448193
New York 19651127
Florida 19552860
Illinois 12882135
dtype: int64
(3)创建Series对象
>>> pd.Series(data, index=index)
# 可以是列表
pd.Series([2, 4, 6])
0 2
1 4
2 6
dtype: int64
# 可以是标量,会进行自动填充
pd.Series(5, index=[100, 200, 300])
100 5
200 5
300 5
dtype: int64
# 可以是字典
pd.Series({
2:'a', 1:'b', 3:'c'})
2 a
1 b
3 c
dtype: object