Pandas初体验之数据结构——Series和DataFrame

  Pandas是为了解决数据分析任务而创建的,纳入了大量的库和标准数据模型,提供了高效地操作大型数据集所需的工具。

  对于Pandas包,在Python中常见的导入方法如下:

from pandas import Series,DataFrame
import pandas as pd

  首先,我们需要对于Series和DataFrame有个基本的了解:

  Series:一维数组,类似于Python中的基本数据结构list,区别是Series只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。就像数据库中的列数据。

  DataFrame: 二维的表格型数据结构。很多功能与R语言中的data.frame类似。可以将DataFrame理解为Series的容器。

  接下来我们通过实例分别了解Series和DataFrame。

  1、Series

  Pandas的Series对象是一个带索引数据构成的一维数组。可以用一个数组创建Series对象,如下所示:

In [1] : data = pd.Series([1,2,3,4])
In [2] : data
Out[2] :0    1
        1    2
        2    3
        3    4

  Series对象将一组数据和一组索引绑定在一起,我们可以通过values属性和index属性获取数据。values属性返回的结果与Numpy数组类似。index属性返回的是一个类型为pd.index的类数组对象。和Numpy数组一样,数据可以通过Python的中括号索引标签来获取:

In [3]: data.values
Out[3]:array([1,2,3,4])
In [4]: data.index
Out[4]:Int64Index([0,1,2,3])
In [5]:data2=Series([4,7,-5,3],index=[‘d‘,‘b‘,‘a‘,‘c‘])
In [6]:data2
Out[6]:
d 1
b 2
a 3
c 4        

  如果你有一些数据在一个Python字典中,你可以通过传递字典来从这些数据创建一个Series,只传递一个字典的时候,结果Series中的索引将是排序后的字典的键。

In [7]:sdata={‘Ohio‘:35000,‘Texas‘:71000,‘Oregon‘:16000,‘Utah‘:5000}
In [8]:obj3=Series(sdata)
In [9]:obj3
Out[9]:
Ohio   35000
Texas  71000
Oregon 16000
Utah   5000

  实例:

  • 创建一个名为series_aseries数组,当中值为[1,2,5,7],对应的索引为[‘nu‘, ‘li‘, ‘xue‘, ‘xi‘]
  • 创建一个名为dict_a的字典,字典中包含如下内容{‘ting‘:1, ‘shuo‘:2, ‘du‘:32, ‘xie‘:44}
  • dict_a字典转化成名为series_bseries数组。
from pandas import Series,DataFrame
import  pandas as pd

def create_series():
    ‘‘‘
    返回值:
    series_a: 一个Series类型数据
    series_b: 一个Series类型数据
    dict_a:  一个字典类型数据
    ‘‘‘
    a=[1,2,5,7]
    index=[‘nu‘,‘li‘,‘xue‘,‘xi‘]
    series_a=Series(a,index)
    dict_a={‘ting‘:1,‘shuo‘:2,‘du‘:32,‘xie‘:44}
    series_b=Series(dict_a)

    return series_a,dict_a,series_b

  2、DataFrame

  DataFrame是一个表格型的数据结构,是以一个或多个二维块存放的数据表格(层次化索引),DataFrame既有行索引还有列索引,它有一组有序的列,每列既可以是不同类型(数值、字符串、布尔型)的数据,或者可以看做由Series组成的字典。

  创建:

dictionary = {‘state‘:[‘0hio‘,‘0hio‘,‘0hio‘,‘Nevada‘,‘Nevada‘],
         ‘year‘:[2000,2001,2002,2001,2002],
         ‘pop‘:[1.5,1.7,3.6,2.4,2.9]}
frame = DataFrame(dictionary)

  修改行名:

frame=DataFrame(dictionary,index=[‘one‘,‘two‘,‘three‘,‘four‘,‘five‘])

  添加修改:

frame[‘add‘]=[0,0,0,0,0]

  添加Series类型:

value = Series([1,3,1,4,6,8],index = [0,1,2,3,4,5])
frame[‘add1‘] = value

  实例:

  • 创建一个五行三列的名为df1DataFrame数组,列名为 [states,years,pops],行名[‘one‘,‘two‘,‘three‘,‘four‘,‘five‘]
  • df1添加新列,列名为new_add,值为[7,4,5,8,2]
from pandas import Series,DataFrame
import  pandas as pd

def create_dataframe():
    ‘‘‘
    返回值:
    df1: 一个DataFrame类型数据
    ‘‘‘
    df1=DataFrame(index=[‘one‘,‘two‘,‘three‘,‘four‘,‘five‘],columns=[‘states‘,‘years‘,‘pops‘])
    df1[‘new_add‘]=[7,4,5,8,2]

    return df1

  对于刚接触Pandas的同学来说,Series和DataFrame其实也不是很难,但是它们确是基础中的基础,是我们以后学习中常用的东西,所以我们必须把它们掌握好,才能更好的学习这门课。

原文地址:https://www.cnblogs.com/Chen-K/p/12354385.html

时间: 2024-11-10 07:07:42

Pandas初体验之数据结构——Series和DataFrame的相关文章

小白学 Python 数据分析(4):Pandas (三)数据结构 DataFrame

在家为国家做贡献太无聊,不如跟我一起学点 Python 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):Pandas (二)数据结构 Series 引言 DataFrame 是由多种类型的列构成的二维标签数据结构. 简单理解是类似于 Excel . SQL 表的结构. DataFrame 是最常用的 Pandas 对象,与 Series 一样,Da

pandas 的数据结构(Series, DataFrame)

Pandas 讲解 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的. Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具. pandas提供了大量能使我们快速便捷地处理数据的函数和方法.你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一. Series:一维数组,与Numpy中的一维array类似. 二者与Python基本的数据结构List也

利用 Python 进行数据分析(七)- pandas 简单介绍(Series和DataFrame)

一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构:Series 和 DataFrame. 二.Series Series 是一个一维数组对象 ,类似于 NumPy 的一维 array.它除了包含一组数据还包含一组索引,所以可以把它理解为一组带索引的数组. 将 Python 数组转换成 Series 对象: 将 Python 字典转换成 Serie

Numpy常用数据结构、数据清洗函数、数据结构series和方法、数据结构dataframe和方法

Numpy常用数据结构 1. 数组创建 In [ ]: # 导入库 import numpy as np In [ ]: arr1 = np.array([-9,7,4,3]) In [ ]: arr1 In [ ]: arr2 = np.array([-9,7,4,3],dtype =float)# 尝试改变为int或者str In [ ]: print(arr2) In [ ]: arr3 = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]]) In [

利用 Python 进行数据分析(八)pandas 基本操作(Series 和 DataFrame)

一.reindex() 方法:重新索引 针对 Series   重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 fill_value 参数指定填充值. 例如: fill_value 会让所有的缺失值都填充为同一个值,如果不想这样而是用相邻的元素(左或者右)的值填充,则可以用 method 参数,可选的参数值为 ffill 和 bfill,分别为用前值填充和用后值填充: 针对 DataFrame   重新索引

Pandas之Series和Dataframe

# Series 数据结构 # Series 是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,Python对象等),轴标签统称为索引 import numpy as np import pandas as pd # 导入numpy.pandas模块 s = pd.Series(np.random.rand(5)) print(s) print(type(s)) # 查看数据.数据类型 print(s.index,type(s.index)) print(s.values,typ

短视频学习 - 15、pandas入门之数据结构-Series(1)

今日内容 # pandas入门之数据结构-Series 简介 # Series是一维标记的数组,能够保存任何数据类型(整数,字符串,浮点数,Python对象等) 常用操作 # 从ndarray实例化 (ndarray是numpy的数据结构) # 从字典实例化(先创建字典,再将字典实例化为series) # 从标量值实例化 # 将Series完全转化为numpy的ndarray,能执行大多数NumPy的函数操作 FollowMe # 实现上述具体操作 若浏览器无法显示下面视频,可点击此处观看优酷短

pandas初学习

简介 Pandas [1] 是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分.Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持. Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis).panel data是经

百度EChart3初体验

由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK.至于说如何体现出来,官网的教程很详细.大家可以去看下.大概了解下用法就OK. 百度ECharts 3:http://echarts.baidu.com/index.html 其实还有很多,可以到官网中找. 下面是我进行操作的步奏,大家可以看下,做个参考. ECharts初体验—01... 需要到官网下载最新的版本的js文件(完整版)