数据分析工具pandas

本文详细介绍了数据分析工具Pandas中的核心数据结构——Series和DataFrame。Series是一维数据结构,由数据和索引组成,可按索引访问数据。DataFrame是二维表格型数据结构,拥有行索引和列索引,支持不同类型的列数据。文中还讲解了如何创建、操作Series和DataFrame,包括通过列表、字典创建,以及索引操作和数据增删等。
摘要由CSDN通过智能技术生成

一、pandas的数据结构分析

1、Pandas中有两个主要的数据结构:Series(一维的数据结构)和DataFrame(二维的、表格型的数据结构)。

2、Series是一个类似一维数组的对象,它能够保存任何类型的数据,主要由一组数据和与之相关的索引两部分构成。

  注意:Series的索引位于左边,数据位于右边。

(1)、创建方法:

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

data:表示传入的数据。

 index:表示索引,唯一且与数据长度相等,默认会自动创建一个从0~N的整数索引。

(2)、通过传入一个列表来创建一个Series类对象:

d1=pd.Series([1,2,3,4,5])

#创建Series类对象,并指定索引:

d2=pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])

#使用dict进行构建

dict={2001:17.8,2002:20.1,2003:16.5}

d3=pd.Series(dict)

(3)、为了能方便地操作Series对象中的索引和数据,所以该对象提供了两个属性index和values分别进行获取。

data = pd.Series([1,2,3])

data.index #获取索引并查看数据类型

data.values #获取数据

#直接使用索引来获取数据

data[3]

(4)、当某个索引对应的数据进行运算以后,其运算的结果会替换原数据,仍然与这个索引保持着对应的关系。

 3、DataFrame是一个类似于二维数组或表格(如excel)的对象,它每列的数据可以是不同的数据类型。

注意: DataFrame的索引不仅有行索引,还有列索引,数据可以有多列。

 (1)、创建方法:

pandas.DataFrame(data = None,index = None,columns = None, dtype = None,copy = False )

index:表示行标签。若不设置该参数,则默认会自动创建一个从0~N的整数索引。

columns:列标签。

2)、通过传入数组来创建DataFrame类对象:

# 创建数组

arr = np.array([['a', 'b', 'c'], ['d', 'e', 'f']])

# 基于数组创建DataFrame对象

d1 = pd.DataFrame(arr)

#指定索引顺序

d2 = pd.DataFrame(arr, columns=['No1', 'No2', 'No3'])

(3)、我们可以使用列索引的方式来获取一列数据,返回的结果是一个Series对象。

# 通过列索引的方式获取一列数据
element = d2['No2']
# 查看返回结果的类型
type(element1)

#在获取DataFrame的一列数据时,推荐使用列索引的方式完成,主要是因为在实际使用中,列索引的名称中很有可能带有一些特殊字符(如空格),这时使用“点字符”进行访问就显得不太合适了。

(4)、DataFrame增加,删除一列数据

#增加

d1['No4'] = ['g', 'h']

#删除

del d1['No3']

二、Pandas索引操作及高级索引

1、Pandas中的索引都是Index类对象,又称为索引对象,该对象是不可以进行修改的,以保障数据的安全。

2、Pandas中的索引都是Index类对象,又称为索引对象,该对象是不可以进行修改的,以保障数据的安全。Pandas还提供了很多Index的子类,常见的有如下几种:

(1)Int64Index:针对整数的特殊Index对象。

(2)MultiIndex:层次化索引,表示单个轴上的多层索引。

(3)DatetimeIndex:存储纳秒寄时间戳。

3、reindex()方法的语法格式如下:

DataFrame.reindex(labels = None,index = None, columns = None,axis = None,method = None, copy = True,level = None,fill_value = nan,limit = None,tolerance = None )

index:用作索引的新序列。

 method:插值填充方式。

 fill_value:引入缺失值时使用的替代值。

 limit:前向或者后向填充时的最大填充量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值