关于Pandas数据分析

news2024/11/24 22:49:15

pandas的数据加载与预处理

数据清洗:洗掉脏数据

在这里插入图片描述

整理分析:字不如表

在这里插入图片描述

数据展现:表不如图

在这里插入图片描述

环境搭建

python+jupyter
anaconda
Jupyter Notebook
Jupyter Notebook可以在网页页面中直接编写代码和运行代码,
代码的运行结果也会直接在代码块下显示的程序。

整合所有的资源
交互性编程体验
零成本重现结果(云运行/在线运行)
运行方法
任意目录打开终端输入

jupyter-notebook
定义端口

jupyter-notebook -port 8899
更换目录

jupyter notebook -generate-config

数据加载与存储

在这里插入图片描述

常见格式存储

import pandas as pd

pd.read_excel() # 从exce1的.xls或.xlsx格式读取表格数据
pd.read_csv()#从csv文件读取数据
pd.read_table() # 从txt文件读取数据
pd.read_sq1( )#将sql查询的结果(使用SQLAlchemy) 读取为pandas的DataF rame
pd.read_html( )#读取网页中的表格数据
pd. read_json( )#从json字符串中读取数据
pd.read_xml#从xml文件中读取数据
…………………………………………等等

格式转换

data=pd.read_excel(./1.xlsx)
data.to_csv(./1.csv)

pandas两大数据结构

Series:一维数据(列)

DataFrame:多维数据

常用函数

data. shape
#数据维度,看看数据多少行,多少列
data . head(3)
#检查头数据
data. info()
#查看数据基本信息
data. dtypes
#查看数据类型
data . describe( )
#查看数值数据统计信息

描述性统计分析

data[‘省份’]. unique
#显示某列所有的唯一值
data[‘省份’].value_ counts()
#返回每个元素有多少个
data[‘收益(元) ’ ] . idxmax()
#返回最大值所在索引
data .nlargest(3,‘收益(元)’)
#返回前几个大的元素值所在行
data. sort_ values (by=’’ ,ascending=‘’)
#根据某一列进行排序

查看指定多行、列、行列

data. columns. tolist( )
data[1:5]
data[[’ ip’ ,’ phone’ ] ]
data.loc[ ]
data. iloc []
方法名称 参数 说明 边界
.loc[] [row,columns] 基于标签索引选取数据 前闭后闭
.iloc[] [row,columns] 基于整数索引选取数据 前闭后开

缺失值检查与处理

缺失数据查看和修改

data[ data. isnull().values] #查看缺失值
data.dropna() #删除缺失值
data.fillna() #填充缺失值

缺失数据高亮

#某网站会员收益表.xlsx
data.isna().sum().sum()
#检查全部缺失值总数
data.isnull().sum( )
#检查每列缺失值
#将缺失值进行高亮
(data[data.isnull().any(1) == True]
style
.highlight_null(nu11_color=‘skyblue’)
.set_table_attributes( ‘style=“font-size: 10px”’))
在这里插入图片描述

#填充固定值
datal = data.fillna(
data1
#向下填充
data2 = data. fillna(method=‘bfill’)
data2

#均值填充

data3 = data[‘收益(元)’ ].fillna(data[‘收益(元)’] .mean())
data3. map(lambda cell:‘%.2f’ % cel1)

#大多数时候,我们是从csv文件中导入的数据,此时Dataframe中对应的时间列是字符串或时间戳的形式

type(user[‘create_ time’ ][1])

#运用pd.to_ datetime().可以将对应的列转换为Pandas中的datetime64类型,便于后期的处理
user[ ‘create time’] = pd.to datetime(user[‘create_time’ ],unit=‘s’)
user[‘create_time’] = user[‘create_time’].map(lambda x : pd.to_datetime(x,unit=‘s’))
type(user['create_ time '][1])
#时间序列的索引。和普通索引一样,调用.1oc[row, columns ]进行索引
user1 = user .set_ index(‘create_time’ )
user1.1oc[‘2022-05’]

2022年5月 -2022年7月的数据

user1.1oc[ ’ 2022-05’: ‘2022-07’]
user[ create time’ ].dt.month

重复值检查与处理

data[data.duplicated()] #筛选重复值所在行
data[data.duplicated([‘姓名’])] #筛选指定列.
data.drop_duplicates() #删除重复值所在行

数据修改与筛选

#修改列名
df . rename( columns={
‘姓名’:‘中文名字’,
‘city’ : ’ birthday ’
})
#修改素引所在行
df.set_ index( ‘id’,inplace=True )
df.reset index(inplace=True)
df.drop([’ index’ ])
#修改索引名字
df.rename axis(’ 自加素引’)
#修改某一个值
df.iloc[0,1]=‘林1’
#替换指定的值
df.replace(3, 0, inplace=True )
df.replace(0,3, inplace=True)
df.replace(‘林永玲’ ,3, inplace=True )
df.iloc[0,1]=‘林永玲’
df.head(10)
df.drop(1)#删除指定行

df.drop(df[df[‘收益(元)’ ]>10000] . index)#删除条件行

df.drop(columns=[ ‘省份’], inplace=True )#删除列

df.drop(df.columns[[6,7,8]], axis=1, inplace=True )#删除列(按列号)

其它分析工具

OpenRefine
在这里插入图片描述

IBM i2
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1036847.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

zabbix学习2--zabbix6.x高可用

文章目录 1. server高可用-默认HA2. 访问高可用 1. server高可用-默认HA 1.部署zabbix单节点后,配置添加HANodeName和NodeAddress即为HA架构 2.zabbix1故障后切换zabbix2使用 3.浏览器访问主机1,使用主机1php前端连接mysql后zabbix2提供后台服务--------…

Linux:进程的本质和fork初识

文章目录 回顾进程查看进程的方式fork 回顾进程 前面对进程进行了一些初步的认知,比如进程可执行程序内核数据结构PCB,再比如可以通过ps命令搭配管道寻找进程,通过/proc系统文件夹查看进程的信息,这些都是前面对进程建立起来的一…

【数据结构】list.h 常用函数实现详解

目录 一、概述二、基础函数✨2.1 INIT_LIST_HEAD✨2.2 list_empty 三、添加结点的函数✨3.1 __list_add✨3.2 list_add✨3.3 list_add_tail 四、删除结点的函数✨4.1 __list_del✨4.2 list_del 五、获取结构体指针、遍历链表✨5.1 list_entry✨5.2 list_for_each✨5.3 list_for…

如何让异步序列(AsyncSequence)优雅的感知被取消(Cancel)

概览 自  从 Swift 5.5 推出新的 async/await 并发模型以来,异步队列(AsyncSequence)就成为其中不可或缺的重要一员。 不同于普通的序列,异步序列有着特殊的“惰性”和并发性,若序列中的元素还未准备好&#xff0c…

BGP选路的十一条原则(第八课)

华为官网:有详细的BGP11条选路原则介绍 NetEngine AR 产品文档 (huawei.com) 第一 BGP 属性 第二 BGP 十一条选路原则 实操部分

5个小功能掌握正则表达式的使用

点击下方关注我,然后右上角点击...“设为星标”,就能第一时间收到更新推送啦~~~ 这篇文章通过实现5个小功能,来讲述在Java中如何使用正则。 Java中如何使用正则 Java中正则相关类位于java.util.regex包下,主要使用2个类&#xff0…

【Maven入门篇】(1)详细讲解Maven的安装报错解决

🎊专栏【Maven入门篇】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【The truth that you leave】 🥰欢迎并且感谢大家指出我的问题 文章目录 🌺Maven介绍⭐作用⭐官网 🎄maven安…

mysql 5.7 修改密码

为了提高安全性 mysql5.7中user表的password字段已被取消,取而代之的事 authentication_string 字段,当然我们更改用户密码也不可以用原来的修改user表来实现了。下面简绍几种mysql5.7下修改root密码的方法(其他用户也大同小异)。…

整洁架构能有多整洁?

前段时间,我将一个中大型后端项目顺利地从Spring Boot 2.5 迁移到了Spring Boot 3,整个过程仅花了一天左右时间,在小酌庆祝之余,我开始思考此次迁移之所以能够顺利进行的原因,此时一个概念立即闪现脑海——整洁架构。 …

ARM Cortex-M内核中系统堆栈

文章目录 有无OS的栈结构区别:裸机的任务栈结构带FreeRTOS操作系统的任务栈 ARM的寄存器有哪些特殊寄存器有哪些 关于FreeRTOS中的SP寄存器栈操作【压栈与弹栈的操作】一般函数嵌套调用时sp指针的变化Cortex-M内核的MSP与PSP作用 有无OS的栈结构区别: 裸…

雷达设备问题(从另一个角度看待区间合并 + 贪心思路 + 未发现关键的错误样例)

雷达设备问题 文章目录 雷达设备问题前言题目描述题目分析代码详解错误案例分析:思路代码: 前言 对于区间合并问题,我们一般会将区间按照左端点或者是右端点进行排序,至于其中的选择要依据题目的分析,这里给大家用贪心…

Nginx 设置禁用 OPTIONS 请求

1、修改 nginx 配置 在 nginx.conf 配置文件中,增加如下内容: if ($request_method ~* OPTIONS) {return 403; }效果如下: 2、重启 nginx 服务 systemctl restart nginx或者 service nginx restart3、功能验证 使用如下命令&#xff…

【Java毕设项目】基于SpringBoot+Vue教务管理系统的开发与实现

博主主页:一季春秋博主简介:专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。主要内容:毕业设计(Java项目、小程序、安卓等)、简历模板、学习资料、…

提升群辉AudioStation音乐体验,实现公网音乐播放

文章目录 本教程解决的问题是:按照本教程方法操作后,达到的效果是本教程使用环境:1 群晖系统安装audiostation套件2 下载移动端app3 内网穿透,映射至公网 很多老铁想在上班路上听点喜欢的歌或者相声解解闷儿,于是打开手…

Unity WebSocket-Server

🌼WebSocket-Server 🥪效果展示🌭启动Server🍱连接Server 🥪效果展示 在Unity中创建WebSocket服务器,从网页连接到该服务器进行消息通信,在Unity中接收到的消息都在主线程中 🌭启…

基于ssm的学生综合测评管理系统047

大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路…

C\C++ 设置Visual Studio编译器使用C++17标准

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C-CSDN博客 简介: 使用ISO C17标准可以为开发人员带来许多好处,包括更简洁的代码、更高的运行效率、更好的硬件支持、更好的兼容性和可移植性&am…

基于springboot+vue的重庆旅游网(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

二、逻辑回归算法(LR,Logistic Regression)(有监督学习)

一、算法思路 逻辑回归本质就是基于多元线性回归,多元线性回归就是yw0 w1*x1 w2*x2 ... wn*xn 多元函数的值域是(-∞,∞),逻辑回归就是将值域映射到(0,1)之间,因为这样就可以变成一个概率值。常用的方法是将多元函数求解得到…

vscode调试webpack项目的方法

vscode调试webpack项目的方法 首先安装vscode插件Javascript Debugger 这个插件的介绍也写清楚了: An extension for debugging Node.js programs and Chrome. 那就是用来调试Node.js和Chrome的vscode扩展插件,包括typescript. 然后按F5启动调试&…