第3章 数据分析工具Pandas

本章详细介绍了Pandas的数据结构,包括Series和DataFrame,强调了索引的重要性和操作,如reindex()方法。此外,讲解了算术运算、数据排序、统计计算和层次化索引的概念与操作,最后覆盖了数据的读写操作,如to_csv()和read_csv()。
摘要由CSDN通过智能技术生成

本章使用的包:

import numpy as np
import pandas as pd

 一,Pandas的数据结构分析Pandas的数据结构分析:

1,Pandas中有两个主要的数据结构:

Series(一维的数据结构)

DataFrame(二维的、表格型的数据结构)

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

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

3,创建Series

1),基本公式:

class pandas.Series(data = Noneindex = Nonedtype = None,name = None,copy = Falsefastpath = False)

data:表示传入的数据。

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

2),通过传入一个列表,字典来创建一个Series类对象

# 使用list进行构建

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

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

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

#使用dict进行构建

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

data3 = pd.Series(dict)

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

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

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

data.values #获取数据

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

data[3]

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

4,创建DataFrame类

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

注意:

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

2),基本公式

pandas.DataFramedata = Noneindex = Nonecolumns = None,dtype = None,copy = False 

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

columns:列标签。

3),创建DataFrame类对象

# 创建数组
arr = np.array([['a', 'b', 'c'], ['d', 'e', 'f']])
# 基于数组创建DataFrame对象
data1 = pd.DataFrame(arr)
#指定索引
data2 = pd.DataFrame(arr, columns=['No1', 'No2', 'No3'])

 4)获取数据

使用列索引的方式来获取列数据,返回的结果是一个Series对象

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

访问属性的方式来获取列数据,返回的结果是一个Series对象

 # 通过属性获取
element2 = data2.No2
# 查看返回结果的类型
type(element2)

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

5),DataFrame增加,删除一列数据

# 增加No4一列数据

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

del data['No4']

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

1,pd中的索引都是Index类对象

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

Pandas还提供了很多Index的子类,常见的有如下几种:

1Int64Index:针对整数的特殊Index

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值