美文网首页我爱编程
113、pandas的数据结构之Series

113、pandas的数据结构之Series

作者: 陈容喜 | 来源:发表于2017-12-20 16:27 被阅读0次

pandas有两个很重要的的数据结构:Series和DataFrame,今天先学习Series的用法。
Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。

例如: 1.png

从结果可以看出Series的字符串表现形式为:索引在左边,值在右边。在上面的例子中我并没有为数据指定具体索引,它会自动创建一个0到N-1(N为数据的长度)的整数型索引。

还可以通过Series的values和index属性获取数组的表示形式和索引对象: 2.png 创建Series带有一个可以对各个数据点进行标记的索引: 3.png 通过索引的方式选取Series中的单个或一组值: 4.png NumPy数组运算(如根据布尔型数组进行过滤、标量乘法、应用数学函数等)都会保留索引和值之间的链接: 5.png 可以把Series看成一个有定长的有序字典,因为它是索引值到数据值的一个映射: 6.png 如果数据被存放在一个Python字典中,可以直接通过这个字典来创建Series。下面以2016年年末四个省常住人口(万)为例: 7.png 如果只传入一个字典,则结果Series中的索引就是原字典的键(有序排列): 8.png

在上面的例子中,province中与provinces索引相匹配的3个值会被找出来并放到相对应的位置上,但是我给的"Hainan"在province中找不到,所以其结果为NaN(即“非数字”(not a number),在pandas中,它用于表示缺失或NA值)。

pandas的isnull和notnull函数可用于检测缺失数据: 9.png Series也有类似的实例方法: 10.png

Series最重要的一个功能是:它在算术运算中会自动对齐不同索引的数据。

例如: 11.png Series对象本身及其索引都有一个name属性: 12.png Series的索引可以通过赋值的方式就地修改: 13.png

附源码:

# coding: utf-8

# In[1]:


import pandas as pd
from pandas import Series,DataFrame
obj = Series([5,9,2,-8])
print obj


# In[2]:


print obj.values


# In[3]:


print obj.index


# In[4]:


obj2 = Series([6,-1,7,3],index=['a','b','c','d'])
print obj2


# In[5]:


# 通过索引查找具体值
print obj2['b']


# In[6]:


# 替换值
obj2['a'] = -5
print obj2


# In[7]:


# 通过索引查找一组值
print obj2[['a','b','c']]


# In[8]:


print obj2


# In[9]:


# 查找大于0的值
print obj2[obj2 > 0]


# In[10]:


# 数组标量乘法
print obj2 * 2


# In[11]:


# 返回 e(自然对数的底)的幂次方
import numpy as np
e = np.exp(obj2)
print e


# In[12]:


'd' in obj2


# In[13]:


'e' in obj2


# In[14]:


# Series与字典的用法
province = {'Guangdong':10999,'Shandong':9946.64,'Sichuan':8262,'Henan':9532.42}
obj3 = Series(province)
print obj3


# In[15]:


provinces = ['Hainan','Guangdong','Shandong','Sichuan']
obj4 = Series(province,index=provinces)
print obj4


# In[16]:


# 检测缺失数据
pd.isnull(obj4)


# In[17]:


# 检测不缺失的数据
pd.notnull(obj4)


# In[18]:


# Series检测缺失数据
obj4.isnull()


# In[19]:


print obj3


# In[20]:


print obj4


# In[21]:


# Series自动对齐不同索引数据
print (obj3 + obj4)


# In[22]:


# Series对象本身及其索引的name属性
obj4.name = 'population'
obj4.index.name = 'province'
print obj4


# In[23]:


print obj


# In[24]:


# 通过赋值修改Series的索引
obj.index = ['Bob','Steve','Jeff','Ryan']
print obj

相关文章

  • 刺猬教你量化投资(五):Pandas入门

    Pandas基础概念 数据结构 Pandas中的数据结构有四种,分别是Series、time series、dat...

  • 2021-12-31 Python-23

    pandas pandas数据结构 pandas 有 2 个常用的数据结构:Series 和 Dataframe一...

  • 113、pandas的数据结构之Series

    pandas有两个很重要的的数据结构:Series和DataFrame,今天先学习Series的用法。Series...

  • Pandas

    Pandas的数据结构 pandas 中使用Series和DataFrame对象存储数据 Series 1.什么是...

  • 使用python进行数据分析<五>(pandas入门

    pandas基于Numpy构建 pandas 的数据结构介绍 Series DataFrame

  • 杨景院Pandas学习笔记(持续更新中)

    Pandas数据结构Series:基本概念及创建 Series 数据结构 Series 是带有标签的一维数组,可以...

  • pandas

    pandas 入门 pandas 的数据结构介绍 pandas 有两个重要的数据结构:Series和DataFra...

  • Pandas-2019-03-14

    Pandas Pandas 介绍 Pandas主要处理的数据结构 ·系列(Series)·数据帧(DataFram...

  • pandas学习-1

    Pandas数据结构Series:基本概念及创建 "一维数组"Serise ` Series 数据结构 Serie...

  • pandas入门

    引入pandas和常用的数据结构Series,DataFrame 一、pandas的数据结构的介绍 1.Serie...

网友评论

    本文标题:113、pandas的数据结构之Series

    本文链接:https://www.haomeiwen.com/subject/adggwxtx.html