数据分析 | pandas

主要数据结构:

Series:

Series 是一种类似于 Numpy 中一维数组的对象,它由一组任意类型的数据以及一组与之相关的数据标签(即索引)组成。

import pandas as pdprint(pd.Series([2, 4, 6, 8]))
print(pd.Series([2, 4, 6, 8], index=['a', 'b', 'c', 'd']))
# 输出
# 0    2
# 1    4
# 2    6
# 3    8
# dtype: int64
# a    2
# b    4
# c    6
# d    8
# dtype: int64

还可以直接使用字典同时创建带有自定义数据标签的数据,pandas 会自动把字典的键作为数据标签,字典的值作为相对应的数据。

访问 Series 里的数据的方式,和 Python 里访问列表和字典元素的方式类似,也是使用中括号加数据标签的方式来获取里面的数据。

import pandas as pds1 = pd.Series([2, 4, 6, 8])
s2 = pd.Series({'a': 2, 'b': 4, 'c': 6, 'd': 8})print(s1[0])
#输出:2
print(s2['b'])
#输出:4

数学中的四则运算在 pandas 中都有一一对应的方法,它们的用法都是类似的:

import pandas as pds1 = pd.Series({'辣条': 14, '面包': 7, '可乐': 8, '烤肠': 10})
s2 = pd.Series({'辣条': 20, '面包': 3, '雪碧': 13, '泡面': 6})print(s2.sub(s1,fill_value=0))# fill_value 为数据缺失时的默认值#输出:
#可乐    -8.0
#泡面     6.0
#烤肠   -10.0
#辣条     6.0
#雪碧    13.0
#面包    -4.0
#dtype: float64

DataFrame:

 DataFrame 是二维数据

import pandas as pd
#调用 pd.set_option() 使表格对齐显示
pd.set_option('display.unicode.ambiguous_as_wide', True)
pd.set_option('display.unicode.east_asian_width', True)df = pd.DataFrame({'辣条': [14, 20], '面包': [7, 3], '可乐': [8, 13], '烤肠': [10, 6]})
print(df)#输出:
#    辣条   面包  可乐   烤肠
#0    14     7     8    10
#1    20     3    13     6

列的查改增删:

查看列:

import pandas as pddf = pd.DataFrame({'辣条': [14, 20], '面包': [7, 3], '可乐': [8, 13], '烤肠': [10, 6]})
print(df['可乐'])
#输出:
#0     8
#1    13
#Name: 可乐, dtype: int64
print(df[['可乐', '辣条']])
#输出:
#    可乐   辣条
#0     8    14
#1    13    20

修改列:

df['可乐'] = [18, 23]
print(df)
#输出:
#    辣条   面包   可乐  烤肠
#0    14     7    18    10
#1    20     3    23     6

新增列:

df['糖果'] = [3, 5]
print(df)
#输出:
#    辣条   面包  可乐   烤肠   糖果
#0    14     7     8    10     3
#1    20     3    13     6     5

删除列:

df.drop('面包', axis=1, inplace=True)
print(df)
# 或者 print(df.drop('面包', axis=1))
#输出:
#    辣条   可乐  烤肠
#0    14     18    10
#1    20     23     6

读取表格文件进行分析:

数据筛选:

给数据打标签:

行的查改增删:

查看行:

import pandas as pddf = pd.DataFrame({'辣条': [14, 20], '面包': [7, 3], '可乐': [8, 13], '烤肠': [10, 6]})
print(df.loc[0])
#输出:
#辣条    14
#面包     7
#可乐     8
#烤肠    10
#Name: 0, dtype: int64# 行分片
print(df.loc[0:1, '辣条'])# 列分片
print(df.loc[0, '辣条':'可乐'])# 同时分片
print(df.loc[0:1, '辣条':'可乐'])#输出:
#0    14
#1    20
#Name: 辣条, dtype: int64#辣条    14
#面包     7
#可乐     8
#Name: 0, dtype: int64#    辣条   面包  可乐
#0    14     7     8
#1    20     3    13

除了比较常用的 loc 之外,还能使用 iloc。用法和 loc 一样,区别在于 loc 使用的参数是索引,而 iloc 的参数是位置,即第几行。

import pandas as pddata = {'辣条': [14, 20, 12, 15, 17],'面包': [7, 3, 8, 3, 9],'可乐': [8, 13, 23, 12, 19],'烤肠': [10, 6, 21, 24, 18]
}
df = pd.DataFrame(data, index=['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-04', '2020-01-05'])
print(df.iloc[:3])  # :3 表示 0、1、2 前三个#输出:
#             辣条   面包  可乐   烤肠
#2020-01-01    14     7     8    10
#2020-01-02    20     3    13     6
#2020-01-03    12     8    23    21

修改行:

df.loc[0] = 1  # 第一行都改成 1
print(df)#输出:
#    辣条   面包  可乐   烤肠
#0     1     1     1     1
#1    20     3    13     6

新增行:

# 添加第三行,全为 1
df.loc[2] = 1
# 添加第四行,分别为 1 2 3 4
df.loc[3] = [1, 2, 3, 4]
print(df)#输出:
#    辣条   面包  可乐   烤肠
#0    14     7     8    10
#1    20     3    13     6
#2     1     1     1     1
#3     1     2     3     4

删除行:

df.drop(0, inplace=True)  # 删除第一行
print(df)
# 或者 print(df.drop(0))

数据清洗:

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

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

相关文章

Python 全栈体系【四阶】(二十)

第五章 深度学习 二、推荐系统 1. 推荐算法介绍 1.1 个性化推荐算法 人口属性 地理属性 资产属性 兴趣属性 1.2 推荐算法分支 协同过滤推荐算法基于内容的推荐算法混合推荐算法流行度推荐算法 1.3 推荐算法 为推荐系统选择正确的推荐算法是非常重要的决定。目前为止…

基于springboot+vue调用百度ai实现车牌号识别功能

百度车牌号识别官方文档 结果视频演示 后端代码 private String getCarNumber(String imagePath, int count) {// 请求urlString url "https://aip.baidubce.com/rest/2.0/ocr/v1/license_plate";try {byte[] imgData FileUtil.readFileByBytes(imagePath);Stri…

机器学习笔记(4)—逻辑回归(Logistic Regression)

文章目录 逻辑回归(Logistic Regression)分类问题假说表示判定边界代价函数简化的成本函数和梯度下降多类别分类:一对多 逻辑回归(Logistic Regression) 分类问题 分类问题中,我们要预测的变量 y y y是一…

【数字图像处理】改变图像灰度级别

改变图像灰度级别 首先,对原始图像 O O O进行灰度级量化: q int ⁡ ( O 2 i ) 2 i , q\operatorname{int}\left(\frac{O}{2^{i}}\right) \times 2^{i}, qint(2iO​)2i, 灰度级别256,128,64,32,16,8&…

Qt 图形视图 /图形视图框架坐标系统的设计理念和使用方法

文章目录 概述Qt 坐标系统图形视图的渲染过程Item图形项坐标系Scene场景坐标系View视图坐标系map坐标映射场景坐标转项坐标视图坐标转图形项坐标图形项之间的坐标转换 其他 概述 The Graphics View Coordinate System 图形视图坐标系统是Qt图形视图框架的重要组成部分&#xf…

1.0 html(1)

html 一、基本介绍 1、定义:html是一种超文本标记语言,也是一种标识性语言(不是编程语言) 标记:记号(绰号) 超文本:就是页面内容可以包含图片、链接,音乐&#xff0c…

IBM:《2023IBM年报》

2024年3月12日,IBM分享了《2023IBM年报》。 报告节选: 在本财年,IBM 的收入为 619 亿美元,按固定汇率计算增长 3%,自由现金流为 112 亿美元,同比增长 19 亿美元。我们经历了对新 watsonx 平台日益增长的需…

ElasticSearch、java的四大内置函数式接口、Stream流、parallelStream背后的技术、Optional类

第四周笔记 一、ElasticSearch 1.安装 apt-get install lrzsz adduser -m es 创建用户组: useradd *-m* xiaoming(用户名) *PS:追加参数-m* passwd xiaoming(用户名) passwd xiaoming 输入新的 UNIX 密码: 重新输入新的 UNIX 密码&…

Spring Boot | Spring Boot的“核心配置“与“注解“

目录: Spring Boot的核心配置与注解 :1. 全局配置文件 ( application.properties / application.yaml:创建项目时候自动生成,其会被“自动导入”到“程序”中 )application.properties配置文件application.yaml 配置文件 (推荐使用)当value值…

GitLab更新失败(CentOS)

使用yum更新GitLab,出现如下错误提示: Error: Failed to download metadata for repo gitlab_gitlab-ce: repomd.xml GPG signature verification error: Bad GPG signature 编写如下脚本: for pubring in /var/cache/dnf/gitlab_gitlab-?…

基于nodejs+vue电影订票系统python-flask-django-php

本系统采用了node语言的express框架,数据采用MySQL数据库进行存储。结合进行开发设计,功能强大,界面化操作便于上手。本系统具有良好的易用性和安全性,系统功能齐全,可以满足电影订票的相关工作。 目 录 1 绪 论 3 1.1…

centos7 安装influxdb+telegraf+grafana 监控服务器

influxdb influxdb是一个时间序列数据库, 所有数据记录都会打上时间戳, 适合存储数字类型的内容 telegraf telegraf 可以用于收集系统和服务的统计数据并发送到influxdb grafana grafana 是一个界面非常漂亮, 可直接读取influxdb数据展示成各种图表的开源可视化web软件 安…

Gin中的gin.Context与Golang原生的context.Context区别与联系

一.gin中的context gin.Context 1.概念 在 Gin 中,Context 是一个非常重要的概念,它是Gin的核心结构体之一,用于处理 HTTP 请求和响应,在 Gin 的处理流程中,Context 贯穿整个处理过程,用于传递请求和响应的信息Gin 的 Context 是…

如何查询电脑是否被锁定了IP地址?锁定IP会出现什么问题?

前言 电脑刚到手的时候,基本上是通过路由器DHCP进行IP分配的。路由器DHCP分配IP给电脑的好处是网络不会出现IP冲突,网络能正常使用。 有些电脑可能在DHCP自动获取IP时出现错误,所以小伙伴就会通过手动设置IP让电脑可以正常上网。 这样的操…

【真题解析】题目 3151: 蓝桥杯2023年第十四届省赛真题-飞机降落【C++ DFS 超详解注释版本】

爆搜冥想 暴力枚举每一辆飞机对于每一个飞机都只存在两种情况,可以降落和不可以降落如果可以降落,计算降落后最早可以降落的时间pre,作为下一次递归的传参如果不可以降落,枚举下一辆飞机 注意这辆的降落有盘旋这种量子叠加态&…

【前端面试3+1】02插槽、箭头函数与普通函数、重绘重排、【回文数】

一、对插槽的理解 1.定义及作用: 插槽是一种用于在组件中插入内容的特殊语法。它的作用是让父组件可以向子组件传递内容,从而实现组件的灵活性和复用性。 2.分类: 插槽可以分为具名插槽和作用域插槽。 2.1具名插槽: 具名插槽允许父…

苹果macOS 14.4.1正式发布:修复无法使用外接显示器USB集线器问题

3 月 26 日消息,苹果今日向 Mac 电脑用户推送了 macOS 14.4.1 更新(内部版本号:23E224),本次更新距离上次发布隔了 18 天。 需要注意的是,因苹果各区域节点服务器配置缓存问题,可能有些地方探测…

怎么在vscode里面保存图片视频音频文件(只需要两步)?

在硬盘中建立一个新的文件夹(自定义命名~我的这里是html→jpg) 第一步建立文件夹 第二步右键打开然后选择其他方式打开,选择code打开就会自己复制过去了

Memcached分布式内存对象数据库

一 Memcached 概念 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态 Web 应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。 二 在架构中的位置 Memcached 处于前端或中间件后…

Gitea CORS Access-Control-Allow-Origin 的问题

最近我们在想使用我们提供的代码库进行元数据提供的时候,启动的服务报 CORS 问题。 如果你的 Gitea 服务器是直接暴露给外部使用的话,可以在 Gitea 的配置文件中添加下面的配置: [cors] ENABLED true ALLOW_DOMAIN *在完成上面的…