Pandas模块

Pandas提供数据结构如Series和DataFrame,支持自动数据对齐、时间序列功能、算术运算、缺失数据处理等。核心操作包括重新索引、丢弃项、排序、计算描述性统计和处理缺失值。

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

Pandas

大纲

在这里插入图片描述

Pandas

  • 具备按轴自动或显式数据对齐功能的数据结构。
  • 集成时间序列功能
  • 数学运算和约减
  • 灵活处理缺失数据
  • 合并及其他出现在常见数据库(SQL)中的关系型运算

pandas数据结构介绍

Series

Series是一种类似于一维数组的对象,表现形式:索引(index)在左边,值(value)在右边
还可以将 Series看做 是一个定长的有序字典,它是索引值到数据的一个映射

from pandas import Series,DataFrame
import pandas as pd
obj = Series([4,5,6,7])
print(obj)
obj.index = ['a','b','c','d']
print(obj)
print(obj.index)# 自动创建索引
print(obj[2]) # pandas 与numpy不同,可以通过索引选取Series中单个或一组值

# Series可以通过字典来创建
sdata = {'dwd':3434,'tawe':3242342,'oijdf':4234234}# 左索引,右值
obj3 = Series(sdata)
print(obj3)
states = ['wafzx','dwd','tawe','oijdf']
obj4 = Series(sdata,index=states)# 会将sdata中与index相匹配的值当到相应位置
# NaN (not a number)
print(obj4)
print(pd.isnull(obj4))# 判断值是否为缺失(缺失为True)
print(pd.notnull(obj4))# 判断值是否缺失(未缺失为True)
# Series 中的index 和 本身都有一个name属性
obj4.index.name = 'state'
obj4.name = 'populartion'
print(obj4)

Dataframe

Dataframe 是一个表格型的数据结构,有行索引和列索引。

# 由等长字典,构建DataFrame
data = {'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],
        'year':[2000,2001,2002,2001,2002],
        'pop':[1.5,1.7,3.6,2.4,2.9]}
frame = DataFrame(data)
print(frame)
# 列按照指定顺序进行排列
frame2 = DataFrame(data,columns=['year','state','pop'])
print(frame2)
frame3 = DataFrame(data,columns=['year','state','pop','debt'],
                   index=['one','two','three','four','five'])
print(frame3)
# 通过类似字典的方式,可将DataFrame的列获取为一个Series
print(frame3['state'])
print(frame3.year)
# 行索引ix
print(frame3.ix['three'])
# 列可以通过赋值的方式进行修改
frame3('debt') = 16.5
# del 用作删除
del frame3['debt']
print(frame3)

# 嵌套字典(外层字典的键作为列索引,内层字典的 键做行索引)
pop = {'niubi':{2001:1,2002:2},'zade':{2001:3,2002:4}}
frame4 = DataFrame(pop)
print(frame4)

在这里插入图片描述

索引对象

index 对象是不可修改的(immutable)
在这里插入图片描述
index的属性和方法
在这里插入图片描述

基本功能

重新索引(reindex)

obj = Series([4.5,7.4,-5.3,3.6], index=['d','b','a','c'])
print(obj)
# reindex将根据新索引重新排
obj2 = obj.reindex(['a','b','c','d','e'])
print(obj2)
# ffill 前填充   bfill后填充
obj3 = obj.reindex(range(4)).bfill()
print(obj3)

reindex函数的参数
在这里插入图片描述

丢弃指定轴上的项(drop)

obj = Series(np.arange(5), index=['d','b','a','c','e'])
print(obj)
# drop 删除指定轴上数值并返回一个新对象
new_obj = obj.drop('c')
print(new_obj)

索引,选取,过滤

在这里插入图片描述
在这里插入图片描述

算数运算和数据对齐

算数方法中填充值

对不同的索引对象进行算术运算时,则结果的索引就是该索引对的并集

df1 = DataFrame(np.arange(12).reshape((3,4)),columns=list('abcd') )
df2 = DataFrame(np.arange(20).reshape((4,5)),columns=list('abcde') )
print(df1)
print(df2)
# 对不同的索引对象进行算术运算时,则结果的索引就是**该索引对的并集**
print(df1+df2)
# 算数方法
print(df1.add(df2,fill_value=0))
print(df1.reindex(columns=df2.columns,fill_value=0))

在这里插入图片描述

排序和排名(sort,rank)

obj = Series(range(4),index=['a','b','c','d'])
# Series 排序
print(obj.sort_index())
print(obj.rank(method='first'))
# DataFrame 排序
frame = DataFrame(np.arange(8).reshape((2,4)),index=['three','one'] ,
                  columns=['d','a','c','d'])
# 返回一个新对象
print(frame.sort_index())
# 行0列1
print(frame.sort_index(axis=1))
# 按降序排序
print(frame.sort_index(axis=1,ascending=False))

汇总和计算描述

在这里插入图片描述
在这里插入图片描述

处理缺失数据

pandas 设计目的之一就是让缺失数据的处理任务尽量轻松
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值