pandas中高级应用——jupyter

2024-02-28 02:40

本文主要是介绍pandas中高级应用——jupyter,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、pandas绘图

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
ts=pd.Series(np.random.randn(1000),index =pd.date_range('1/2/2000',periods=1000))#随机生成1000个数据,index用pandas里日期函数,生成1000个index
ts =ts.cumsum()  #累加,一个数等于之前所有数相加,使数据变得更平滑
ts     #日期+数据  时间序列

在这里插入图片描述

ts.plot(title='pandas plot')
plt.xlabel('x')
plt.ylabel('y')

在这里插入图片描述

df=pd.DataFrame(np.random.randn(1000,4),index =pd.date_range('1/2/2000',periods=1000),columns= list('ABCD'))  #生成4个1000个数据,随时间变化
df.cumsum().plot()  #自动生成四种颜色的数据,累加使数据更光滑,多次执行变成光滑曲线

在这里插入图片描述
指定某一列为X:

df['A']=np.arange(1000)
df['C']

在这里插入图片描述

df.plot(x = 'A',y='C')  #用df里的数据画图,x轴为A,y轴为C列数据

在这里插入图片描述

df.C[:5].plot.bar(rot=20)  #画出C的前5个数据的柱状图,横坐标倾斜20°

在这里插入图片描述

df.C[:5].plot.bar(rot=20,color='purple',title='df.C5')

在这里插入图片描述

二、 数据聚合与分组运算

import numpy as np
import pandas as pd

对数据进行分组是数据分析工作的重要部分,对数据的分析,常常是对数据进行分组统计

分组运算过程: 1、确定分组键—即按照分组键进行分组 2、确定分组操作:即在每个小组上应用哪个函数或运算 3、运算结果合并

注意:分组键可以为:数组、DataFrame的某个列、字典、Seires、索引或者列的函数等等。关键要求分组键要与拆分的对象长度相同

df = pd.DataFrame({'animal': 'cat dog cat fish dog cat cat'.split(), 'size': list('SSMMMLL'),'weight': [8, 10, 11, 1, 20, 12, 12],'adult' : [False] * 5 + [True] * 2})
# ':'分隔列, .split()分隔' ',数据按顺序排列  多种表示各种数据的方式
df

在这里插入图片描述
计算每种动物的平均重量:

df.groupby('animal')['weight'].mean()   #按每种动物分组,对重量求平均值  分组标准+对组的那一项+操作

在这里插入图片描述
计算每种动物是否成年,计算其平均体重:

data = df.groupby(['animal','adult'])['weight'].mean()  #分组依据有两个
data

在这里插入图片描述

type(data)    # 双重serials序列

在这里插入图片描述
将Series转换为DataFrame

data1 = data.unstack()  #将Series转换为DataFrame
data1

在这里插入图片描述

type(data1)

在这里插入图片描述

df.groupby('animal').size() #统计以animal分组的各组的包含数量 

在这里插入图片描述

df.groupby('animal')['weight'].apply(lambda x : x - x.mean())  #用动物的体重分组,不同体重的放在不同组,每一组的数据为体重减去分组体重平均值
#自己写lambda函数,再apply应用一下

在这里插入图片描述

三、空难数据集处理

找出哪些飞机发生空难的时候,生存率最高

data = pd.read_csv('air1908.csv')
data.head()

在这里插入图片描述

data.columns

在这里插入图片描述

data.tail()

在这里插入图片描述

data.Type

在这里插入图片描述
处理nan值的处理

data[['Fatalities','Aboard','Type']].isnull().sum()

在这里插入图片描述

data = data[['Fatalities','Aboard','Type']].dropna()

处理Type数据,让其规整化

data.Type = data.Type.map(lambda x:x.split()[0]) #取以' '分隔的第一个数据为这个数据  map:映射
data

在这里插入图片描述
想统计各个品牌出现的次数

data.Type.value_counts()  #出现次数太少的去掉

在这里插入图片描述
找出高频率出现前10的品牌

top10 = data.Type.value_counts()[:10].index #切片的表示方法:取出现次数的前10个数据的index
top10

在这里插入图片描述

data.Type.isin(top10)   #成员关系判断  从品牌中找top10的数据  false:不在top10 true:在top10

在这里插入图片描述

data =data[data.Type.isin(top10)] #data中取type在top10的数据
data.Type.unique() #查看唯一值

在这里插入图片描述

data['sv'] =np.round((data.Aboard- data.Fatalities)/ data.Aboard,2) #保留两位小数
data

在这里插入图片描述
每个品牌的平均生存几率

 data[data.Type =='de']['sv'].mean() #品牌的平均死亡率

在这里插入图片描述

data.groupby('Type')['sv'].mean()

在这里插入图片描述

四、小费数据集

import seaborn as sns
import pandas as pd

tips是seaborn中的一个数据集

data = sns.load_dataset('tips')
data

在这里插入图片描述
观察哪些日子给小费

data.day.unique()

在这里插入图片描述

看看哪些餐给小费

data.time.unique()

在这里插入图片描述
计算小费比例

data['rate'] =data.tip/data.total_bill  #增加一列

观察哪个性别给的小费比例高

data.groupby('sex')['rate'].mean()

在这里插入图片描述
观察哪天给的小费比例更高

data.groupby('day')['rate'].mean()

在这里插入图片描述
观察哪天哪个性别给的小费比例更高

data.groupby(['day','sex'])['rate'].mean()

在这里插入图片描述
观察两者的区别

data.groupby(['sex','day'])['rate'].mean()

在这里插入图片描述
可视化

data.groupby(['sex','day'])['rate'].mean().plot.bar(rot=20)

在这里插入图片描述

这篇关于pandas中高级应用——jupyter的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/754234

相关文章

jupyter代码块没有运行图标的解决方案

《jupyter代码块没有运行图标的解决方案》:本文主要介绍jupyter代码块没有运行图标的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录jupyter代码块没有运行图标的解决1.找到Jupyter notebook的系统配置文件2.这时候一般会搜索到

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Pandas使用SQLite3实战

《Pandas使用SQLite3实战》本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1 环境准备2 从 SQLite3VlfrWQzgt 读取数据到 DataFrame基础用法:读

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Python下载Pandas包的步骤

《Python下载Pandas包的步骤》:本文主要介绍Python下载Pandas包的步骤,在python中安装pandas库,我采取的方法是用PIP的方法在Python目标位置进行安装,本文给大... 目录安装步骤1、首先找到我们安装python的目录2、使用命令行到Python安装目录下3、我们回到Py

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和