Pandas的三个基本数据结构Series,DataFrame,Index
Posted songxiaohua
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pandas的三个基本数据结构Series,DataFrame,Index相关的知识,希望对你有一定的参考价值。
1.Series
Pandas的Series对象是一个带索引数据构成的一维数组
1)用一个数组创建Series对象
In [1]: import numpy as np In [2]: import pandas as pd In [3]: data = pd.Series([0.25,0.5,0.75,1.0]) In [4]: data Out[4]: 0 0.25 1 0.50 2 0.75 3 1.00 dtype: float64
2)通过values和index属性获取数据
# values属性返回的结果与Numpy数组类似 In [5]: data.values Out[5]: array([0.25, 0.5 , 0.75, 1. ]) # index属性返回的结果是一个类型为pd.index的类数组对象 In [6]: data.index Out[6]: RangeIndex(start=0, stop=4, step=1)
3)和Numpy数组一样,数据可以通过Python中的括号索引标签获取
In [7]: data[1] Out[7]: 0.5 In [8]: data[1:3] Out[8]: 1 0.50 2 0.75 dtype: float64
4)对于Series对象的index,默认值为整数序列
In [9]: pd.Series([2,4,6]) Out[9]: 0 2 1 4 2 6 dtype: int64
5)data还可以是一个标量,创建Series对象时会重复填充到每个索引上
In [10]: pd.Series(5, index=[100, 200, 300]) Out[10]: 100 5 200 5 300 5 dtype: int64
2.DataFrame
理解:如果将Series类比为带灵活索引的一维数组,那么DataFrame就可以看作是一种既有灵活的行索引,又有灵活列名的二维数组,也可以把DataFrame看成是有序列排列的若干Series对象,这里的‘排列‘指的是它们拥有共同的索引
创建DataFrame:
*通过单个Series对象创建
*通过字典列表创建
In [13]: data = [{‘a‘:i,‘b‘:2 * i} for i in range(3)] In [14]: pd.DataFrame(data) Out[14]: a b 0 0 0 1 1 2 2 2 4
*通过Numpy二维数组创建
In [17]: pd.DataFrame(np.random.rand(3,2),columns=[‘foo‘,‘bar‘],index=[‘a‘,‘b‘,‘c‘]) Out[17]: foo bar a 0.849243 0.390653 b 0.411107 0.005731 c 0.517257 0.545708
3.Index
理解:可以将它看作一个不可变数组或有序集合(实际上是一个多集,因为Index对象可能会包含重复值)
Index对象遵循Python标准库的集合(set)数据结构的许多习惯用法,包括并集,交集,差集
以上是关于Pandas的三个基本数据结构Series,DataFrame,Index的主要内容,如果未能解决你的问题,请参考以下文章
python中数据分析库的基本使用(series&pandas)
python中数据分析库的基本使用(series&pandas)