Python数据分析入门(一)-Pandas数据结构(Series)
2017-10-31 16:35
906 查看
Series是一种类似于一维数组的对象,具有标签(或者说索引),下面将介绍Series对象的常用方法及操作
导包import pandas as pd import numpy as np
创建Series对象
list1 = [1,2,3,4] # 以list方式创建,索引默认为从0开始的整数 ser = pd.Series(list1) >>> ser 0 1 1 2 2 3 3 4 dtype: int64
index_list=['a','b','c','d'] ser = pd.Series(list1,index=index_list) # 还可以指定索引 >>>ser a 1 b 2 c 3 d 4 dtype: int64
# 或者直接用字典来创建Series dict1 = {'tina':None,'kris':22,'hiphopman':30} ser = pd.Series(dict1) # 默认按value的顺序降序排列 >>>ser hiphopman 30 kris 22 tina NaN # 此处可见series可以接受空值 dtype: int64
可以用pd.isnull 或者 pd.notnull来进行条件选择
ser_bool = pd.isnull(ser) # 此时返回的依然是Series,其对应位置的value为null则为True,反之则为False,而pd.notnull则是相反。 >>>ser_bool hiphopman False kris False tina True dtype: bool
元素及索引
>>>ser['tina'] # 取索引为tina的元素的值 nan >>>ser[['tina','hiphopman'] # 根据list索引返回series对象 tina NaN hiphopman 30.0 >>>ser.values # 返回此ser的所有元素值,类型为 numpy.ndarray [ 30. 22. nan] >>>ser.index # 返回此ser的所有索引,类型为pandas.indexes.base.Index Index(['hiphopman', 'kris', 'tina'], dtype='object')
常用运算
>>>ser[ser>22] # 找到ser中值大于22的元素,返回的是Series对象 hiphopman 30.0 dtype: float64 >>>ser/2 # ser中所有元素进行 /2 的操作,自动过掉NaN hiphopman 15.0 kris 11.0 tina NaN dtype: float64 >>>ser1 # series还支持自动匹配运算 hiphopman 30.0 kris 22.0 tina NaN dtype: float64 >>>dict2 = {'tina':None,'kris':22,'hiphopman':30,'micoon':24} >>>ser2 = pd.Series(dict2) >>>ser2 hiphopman 30.0 kris 22.0 micoon 24.0 tina NaN dtype: float64 >>>ser1+ser2 # 此时会返回series对象,其index会是参加运算的series所有元素的并集,而各自未交集的元素将值置空,如下显示micoon也为空 hiphopman 60.0 kris 44.0 micoon NaN tina NaN dtype: float64
增删改(查询见上面元素及索引)
>>>dict2 = {'cilo':19,'machine':29,'robot':34,'sellter':20} >>>ser2 = pd.Series(dict2) # 创建一个新series >>>new_ser = ser1.append(ser2) # 把ser2append到ser1中 >>>new_ser hiphopman 30.0 kris 22.0 tina NaN cilo 19.0 machine 29.0 robot 34.0 sellter 20.0 dtype: float64 >>>new_ser.drop('tina') # 根据索引值删除,此方法为值传递,会返回一个新series,而不会改变原来new_ser的值 hiphopman 30.0 kris 22.0 cilo 19.0 machine 29.0 robot 34.0 sellter 20.0 dtype: float64 >>>new_ser['tina'] = 100 # 选取元素后直接赋值,即可修改 hipho 4000 pman 30.0 kris 22.0 tina 100.0 cilo 19.0 machine 29.0 robot 34.0 sellter 20.0 dtype: float64
相关文章推荐
- Python数据分析入门(一)-Pandas数据结构(Series)
- [Python数据分析-01]Pandas数据结构之Series
- 利用Python数据分析:pandas入门(一)
- python数据分析之pandas里的Series
- 利用Python数据分析:pandas入门(二)
- Python数据分析入门之pandas总结基础
- 利用Python数据分析:pandas入门(四)
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍
- 利用 Python 进行数据分析(七)pandas 简单介绍(Series 和 DataFrame)
- Python常用的数据分析工具入门: numpy和pandas入门
- python数据分析:pandas数据结构与操作
- python数据分析之pandas库的Series应用
- 利用python进行数据分析-pandas入门3
- python数据分析(pandas入门)
- 机器学习--数据分析Pandas(一)--数据结构Series
- Python数据分析 Pandas入门
- Python——数据分析Pandas入门
- 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作
- 数据分析之Pandas(二) Series入门
- python数据分析pandas包入门学习(三)汇总和统计描述