目录

一.数据导入导出

1.CSV文件读取与参数说明

2.Excel与TST文件读取

3.数据导出操作

二.缺失值处理

1.填充缺失值

2.删除缺失值【删除整行数据】

三.重复值处理

四.数据筛选与条件查询

1.逻辑判断+取数

2.字符匹配

3.逻辑运算: &(和)、|(或)


一.数据导入导出

Pandas支持多种数据格式,包括CSV、Excel(XLSX/XLS)、TST等

1.CSV文件读取与参数说明

  • 使用read_csv()方法读取CSV文件,自动识别逗号分隔符。
  • 参数header控制是否将第一行作为列名:
    • header=None表示无列名,第一行视为数据
  • 默认将第一行作为列名(如name, age, income)。
    import pandas as pddf_1 = pd.read_csv("data1.csv")
    print(df_1)name  age  income
    0   lili   20    2000
    1  peter   21    2300
    2    jim   22    2200

                                                                            

2.Excel与TST文件读取

  • Excel文件通过read_excel()读取,同样支持header参数。
  • TST文件使用read_table(),需指定分隔符(sep参数)和是否包含列名。
    df_1 = pd.read_excel("data3.xlsx")name  age  income
    0   lili   20    2000
    1   lucy   20    2300
    2  peter   21    2400
    3  kitty   22    2500
    df_2 = pd.read_table("data4.txt",sep=',',header=None)0   1     2
    0   lili  20  2000
    1  peter  21  2300
    2    jim  22  2200

    3.数据导出操作

           导出CSV:to_csv()方法,参数包括:
           header=True(导出列名)。
           index=True(是否导出行索引)。
           导出Excel:to_excel()参数与CSV类似,仅格式不同。

import pandas as pddf_1 = pd.read_csv("data1.csv")
df_1.to_csv(r"导出的地址",index=True, header=True)
df_2 = pd.read_excel("data3.xlsx")
df_2.to_excel(r"导出的地址",index=True, header=True)

二.缺失值处理

缺失值处理方式:
1.数据补齐,填充缺失值 2.删除对应数据行 3.不处理

  • 缺失数据在Pandas中显示为NaN(如未填写的单元格)。
  • 检测缺失值:isnull()函数返回布尔类型DataFrame,标记空缺位置为True显示如下
    import pandas as pd
    df = pd.read_csv(r"data.csv",encoding='gbk')
    na = df.isnull()

1.填充缺失值

使用 fillna()方法 填充缺失值

df1 = df.fillna('需要填充的值')

2.删除缺失值【删除整行数据】

df2 = df.dropna()

三.重复值处理

  • 通过 duplicated() 检测重复行,返回布尔值标识重复项(完全相同的行或指定列重复)。
    import pandas as pd
    df = pd.read_csv(r"data1.csv",encoding='gbk')
    result1 = df.duplicated()

  • 根据列名(如 name 和 gender)判断重复性,结合布尔索引提取重复行数据。
    result2 = df.duplicated('gender')
    

    result3 = df.duplicated(['gender', 'name'])
    

  • 使用 drop_duplicates() 删除重复行,需注意删除后索引可能不连续,需手动调整。
    #删除完全重复行
    new_df1 = df.drop_duplicates()
    

    #删除部分重复【根据某列名来删除】
    new_df2 = df.drop_duplicates(['name', 'gender'])

四.数据筛选与条件查询

1.逻辑判断+取数

通过布尔条件(如 好评数 > 17000)筛选数据,生成 True/False 序列后提取对应行。
使用 between() 方法筛选数值范围内的数据(如 好评数在15000到17000之间)。

import pandas as pddf = pd.read_csv(
r"data1.csv",encoding='gbk')#抽取好评数大于17000的电脑
df[df['好评数'] > 17000]
#抽取好评数在15000到17000之间的电脑
df[df['好评数'].between(15000, 17000)]

2.字符匹配

通过str.contains()方法筛选包含特定字符(如“苹果”)的内容

na=False参数的作用(忽略缺失值)与na=True的区别(将缺失值纳入匹配结果)。

df[df['品牌'].str.contains('苹果',na=False)]

3.逻辑运算: &(和)、|(或)

&:所有条件都满足则返回True

| :满足一个条件就返回True

df[(df['价格']<7000) & (df['好评数'] > 16000)]
df[(df['价格']<6000) | (df['好评数']>18000)]

五.matplotlib库 简单图绘制

 1.绘制点线图:

通过plt.plot(x, y)传入X/Y轴数据,设置颜色(color)和标记形状(marker),添加标题(title)和轴标签(xlabel/ylabel)。

import matplotlib.pyplot as plt
import numpy as np
x=np.array([1,2,3,4,5])
y=np.array([10,20,30,40,50])
plt.plot(x,y,color='red',marker='o')#点线图
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.show()

2.直方图:

使用plt.hist()绘制单值条形图

data = [1, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5]
plt.hist(data,color='red')
plt.show()

3.多子图绘制

通过plt.subplot()在同一画布上分区域绘制多个图形(如正弦、余弦函数),结合np.linspace()生成等间隔数据点。

使用 plt.subplot 创建两行两列的子图(共4个),图像大小为10x8(单位未明确)。

  • 子图通过矩阵(ndarray)管理,通过索引(如 ax[0,0])在指定位置添加数据:
    • 第0行第0列:绘制 X 和 y1(红色),标题为 X sinex
    • 第0行第1列:绘制 X 和 y2(绿色),标题为 cosinex
    • 第1行第0列:绘制 X 和 y3(蓝色)。
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(0,10,100)
y1=np.sin(x)
y2=np.cos(x)
y3=np.tan(x)
y4=np.sin(x**2)
fig,axs=plt.subplots(2,2,figsize=(10,8))
axs[0,0].plot(x,y1,'r')
axs[0,0].set_title('sin(x)')
axs[0,1].plot(x,y2,'g')
axs[0,1].set_title('cos(x)')
axs[1,0].plot(x,y3,'b')
axs[1,0].set_title('tan(x)')
axs[1,1].plot(x,y4,'m')
axs[1,1].set_title('sin(x^2)')
plt.show()

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

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

相关文章

FPGA 如何实现另一个 FPGA?

如果你对 FPGA 有些了解&#xff0c;大概知道它的意思是“可编程逻辑器件”&#xff0c;可以把写好的逻辑电路&#xff08;通常是 Verilog/VHDL&#xff09;通过工具综合、布局布线、烧写进去&#xff0c;让一块芯片变成“你想要的电路”。但如果我告诉你&#xff0c;现在有个开…

文思助手、新华妙笔 AI材料星的公文写作深度测评

公文写作一直都是体制内工作人员的日常核心任务&#xff0c;写公文的难点不仅来自于对政策表述严谨性的高要求&#xff0c;也在于格式规范、内容深度以及效率压力的多重考验。随着AI技术的发展&#xff0c;越来越多的文字辅助工具出现&#xff0c;很大程度的缓解了写作压力&…

Flutter开发环境搭建与工具链

Flutter开发实战第1章&#xff1a;Flutter开发环境搭建与工具链1.1 Flutter简介与优势Flutter是Google推出的开源UI工具包&#xff0c;用于从单一代码库构建编译为原生性能的移动、Web和桌面应用程序。Flutter的核心优势包括&#xff1a;跨平台一致性&#xff1a;一套代码运行在…

io_uring:Linux异步I/O的革命性突破

目录 1. io_uring是什么&#xff1f; io_uring核心优势&#xff1a; 2. io_uring核心原理 2.1 双环形缓冲区设计 2.2 关键数据结构 1、完成队列CQ 2、提交队列SQ 3、Params 3. io_uring工作流程 3.1 初始化阶段 3.2 I/O操作流程 4. C代码示例&#xff08;原始系统调…

线段树学习笔记 - 练习题(2)

文章目录1. 前言2. P3870 [TJOI2009] 开关3. P2184 贪婪大陆4. P1438 无聊的数列5. P1471 方差1. 前言 线段树系列文章&#xff1a; 线段树学习笔记。线段树学习笔记 - 练习题&#xff08;1&#xff09;。 前一篇做了几道线段树的题目&#xff0c;这篇文章就继续看下线段树的…

Vue状态管理:Pinia 与 Vuex 的使用方法与对比【文章附有完整案例】

最近在接手vue项目的需求&#xff0c;因为之前一直在做react的需求&#xff0c;日常的vue练习也少了很多&#xff0c;导致现在接手vue项目&#xff0c;很多关于vue的知识点基本上忘得干干净净了。但是好在有基础&#xff0c;重新学也会很快掌握。分享这个过程中的一些复习内容。…

OpenMed 项目深度分析:推动医疗 NLP 领域的开源革命

摘要 医疗人工智能(AI)领域因高质量数据和模型的获取受限而发展缓慢。OpenMed 项目通过开源超过380个医疗命名实体识别(NER)模型,显著降低了研究与应用门槛。本文从项目背景、技术优势、应用场景、实施挑战及未来展望五个方面,系统分析 OpenMed 的核心价值与潜力,揭示其…

大模型开发

什么是Ai&#xff1f;AI的全拼是(Artificial Intelligence)人工智能&#xff0c;使机器能够像人类一样思考、学习和解决问题的技术。在AI的应用情况下我们更多的是学习自然语言处理。在自然语言处理(Natural Language Processing&#xff0c;NLP)中&#xff0c;有一项关键技术叫…

【正常配置了beast扩展,phpinfo信息也显示了,但是就是不运行】

正常配置了beast扩展&#xff0c;phpinfo信息也显示了&#xff0c;但是就是不运行场景原因解决排查过程扩展场景 项目中使用到了beast进行源码保护&#xff0c;指定类存在&#xff0c;但是报错信息提示类找不到&#xff0c;beast扩展添加到了正在运行的php版本下的ext文件夹下…

CRMEB 单商户PRO多商户通用去版权教程

CRMEB去版权教程&#xff0c;此教程可根据具体版本进行调整&#xff0c;基本适用次方法。 后端版权修改 修改后端管理底部版权及门店后端管理底部版权。 文件位置 \view\admin\src\components\copyright\index.vue 文件位置 \view\admin\src\router\routes.js 文件位置 \vi…

旧物回收小程序系统开发:重塑旧物回收产业新生态

在传统观念中&#xff0c;旧物回收往往给人一种脏乱差、效率低下的印象&#xff0c;回收过程繁琐&#xff0c;回收渠道有限&#xff0c;导致许多可回收物被浪费。然而&#xff0c;随着信息技术的飞速发展&#xff0c;旧物回收小程序系统的开发正为这一古老行业带来前所未有的变…

SSE和WebSocket区别到底是什么

文章目录SSE 与 WebSocket&#xff1a;深入剖析两者核心差异核心差异&#xff1a;单向 vs. 双向通信技术细节对比协议与连接数据格式错误处理与可靠性适用场景&#xff1a;何时选择 SSE&#xff0c;何时选择 WebSocket&#xff1f;总结SSE 与 WebSocket&#xff1a;深入剖析两者…

西安电子科技大学金融学431考研经历分享

考研数学是区分度最大的科目之一&#xff0c;如何高效备考&#xff1f;本文为你推荐多位名师和经典书籍&#xff0c;助你在每个阶段都能稳步提升&#xff0c;最终冲刺成功。一、考研数学备考策略教师推荐① 高等数学&#xff1a;② 线性代数&#xff1a;③ 概率论与数理统计&am…

laravel RedisException: Connection refused优雅草PMS项目管理系统报错解决-以及Redis 详细指南-优雅草卓伊凡

laravel RedisException: Connection refused优雅草PMS项目管理系统报错解决-以及Redis 详细指南-优雅草卓伊凡今天来开始更新pms系统&#xff0c;因为我们ppt上面要做&#xff0c;才发现原来打不开&#xff0c;此前主要是事情太多&#xff0c;我们一直有很多东西搁置解决 Lara…

拉力覆冰在线监测装置:电力线路安全运行的数字化守卫者

在极端天气频发的背景下&#xff0c;输电线路覆冰灾害已成为威胁电网稳定运行的关键因素。拉力覆冰在线监测装置通过数字化技术构建起全天候监测体系&#xff0c;为电力运维提供精准数据支撑。本文从技术实现与实际应用价值角度&#xff0c;解析该装置的核心功能与行业意义。核…

AI面试如何提升物流行业招聘效率?实战案例解析

每年秋招季&#xff0c;物流行业都会迎来海量应届生简历涌入。面对业务快速扩张与人才筛选压力&#xff0c;传统线下面试流程长、标准模糊、成本高昂等问题愈发凸显。本文通过两大物流头部企业的实战案例&#xff0c;解析AI面试如何破解招聘困局&#xff0c;实现效率与质量的双…

【机器学习】组合优化问题combination-optimization概述

博主简介&#xff1a;努力学习的22级计算机科学与技术本科生一枚&#x1f338;博主主页&#xff1a; Yaoyao2024往期回顾&#xff1a;【二分图算法】手把手教你学会&#xff1a;染色法&#xff08;判断二分图&#xff09;、匈牙利算法&#xff08;二分图的最大匹配&#xff09;…

Linux网络编程-osi、udp

网络&#xff1a;不同主机&#xff0c;进程间通信达到不同主机之间的困难&#xff1a;解决主机之间的硬件层面的互联互通解决主机之间的软件层面的互联互通广域网&#xff1a;进行大范围网络数据交换IP地址&#xff1a;区分不同主机 唯一的&#xff08;软件地址&#xff09;MAC…

删除 XML 格式中双引号内的空格

要使用 Shell 命令删除 XML 格式中双引号内的空格&#xff08;仅处理属性值中的空格&#xff0c;保留标签外的空格&#xff09;&#xff0c;可以使用以下 sed 命令&#xff1a; sed -i :loop; s/\("[^"]*\) \([^"]*"\)/\1\2/g; t loop filename.xml命令详解…

电脑声音修复?【图文详解】电脑没有声音?声音异常

一、问题背景 在使用电脑的过程中&#xff0c;声音异常是很常见的问题。比如明明打开了音频文件&#xff0c;却听不到任何声音&#xff1b;或者声音忽大忽小、伴有杂音&#xff1b;或者更新了声卡驱动后&#xff0c;电脑播放不了声音了&#xff1b;还有可能是插入耳机后&#x…