数据分析之pandas(一)

这篇博客主要介绍了pandas中的Series数据结构,包括如何创建Series,其属性如索引、形状和值,以及如何转换和访问序列数据。内容涵盖系列的创建方法,如使用数组、列表和字典,以及序列的属性如index、shape和values。此外,还讨论了如何进行数据转换,通过索引、切片和布尔索引访问元素,以及序列的基本操作如删除元素和追加序列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据分析之pandas(一)

简介

pandas 是基于Numpy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

数据结构

Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近。Series如今能保存不同种数据类型,字符串、boolean值、数字等都能保存在Series中。

Time- Series:以时间为索引的Series。

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

Panel :三维的数组,可以理解为DataFrame的容器。

Panel4D:是像Panel一样的4维数据容器。

PanelND:拥有factory集合,可以创建像Panel4D一样N维命名容器的模块。

一、series

序列(Series)是由一组数据(各种NumPy数据类型),以及一组与之相关的数据标签(索引)组成,序列不要求数据类型是相同的

序列是一个一维数组,只有一个维度(或称作轴)是行(row),在访问序列时,只需要设置一个索引。pandas自动为序列创建了一个从0开始到N-1的序号,称作行的下标,行的位置。可以显式设置index参数,为每行设置标签,pandas把标签称作索引。用户可以通过索引、也可以通过位置来访问Series对象中的元素。

序列可以看作是索引到数据值的一个映射,一个索引对应一个数据值,这种结构就是有序的字典。

简而言之,序列就是一组带有标签的一维数组,标签可以看成索引。

1、创建序列的三种方法

序列的构造函数定义是:

pandas.Series(data=None, index=None, dtype=None, name=None, copy=False)

构造函数的参数:

  • data:传递给序列的数据,可以是ndarray、list或字典
  • index:设置轴的索引,索引值的个数与data参数的长度相同。如果没有设置index参数,那么默认值是 np.arange(n),或者 RangeIndex (0, 1, 2, …, n)。
  • dtype:设置序列元素的数据类型,如果没有设置,那么将推断数据类型
  • name:序列是一个多行的结构,name是序列的名称
  • copy:复制数据,默认值是false

索引的下标是自动生成的,从0开始,加1递增。对于序列的data,可以通过序列的属性values来访问;对于序列的索引,可以通过序列的属性index来访问。

1.1、使用一维数组创建序列
import numpy as np
import pandas as pd
import string


s1  = pd.Series(np.arange(7))
print(s1)

0    0
1    1
2    2
3    3
4    4
5    5
6    6
dtype: int32

显式传递index参数

注意:在构造函数中传递自定义的索引列表,索引的长度必须和data的长度相同,如下所示:

sd1 = pd.Series(data = np.arange(5),index = list(string.ascii_uppercase[:5]))
print(sd1)

A    0
B    1
C    2
D    3
E    4
dtype: int32

显式设置序列的name和index的name

注意:序列是一维数组,只有一个维度,那就是row,在序列中为Index命名就是设置行轴的名称。

sd2 = pd.Series(data=['a','b'],index=pd.Index(['01','02'],name='index_name'),name='series_name')
print(sd2)

index_name
01    a
02    b
Name: series_name, dtype: object
1.2、使用列表创建序列
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值