醒醒,别睡了...讲《数据分析pandas库》了—/—<2>

news2024/9/20 14:25:09

废话不多说,直接开讲!

一、

1、pandas变量类型的转换

Pandas 支持的数据类型
        1、float:浮点型
        2、int:整型
        3、string:字符串类型
        4、bool:布尔类型
        5、datetime64[nsr]: 示精确到纳秒的日期和时间
        6、datetime64[nsr,tz]:表示带有时区信息的日期和时间
        7、timedelta[ns]:表示时间间隔,精度为纳秒
        8、category:用于表示具有有限个数不同取值的列。"category"类型可以看作是一种经过优化的"object"类型,适用于具有重复值的列,并且可以提供一些额外的性能优化和内存使用优势。
        9、object:用于表示混合类型的列,其中的值可以是任何Python对象。

df.dtypes:用于查看各列的数据类型

不同数据类型之间的转换,其使用方法如下:

#将df里所有的列转换成str
df.astype('str')
df.astype('str').dtypes
#修改某一列数据的数据类型
df.column.astype ('str')
#转换错误
df.astype('int', errors = 'ignore').dtypes #明确指定转换类型的函数:

2、Pandas中的Index

        Pandas中的Index,其实是不可变的一维数组

ind=pd.Index([3,4,5,6,7])
#根据下标获取值
ind[3]
#切片获取值
# ind[::2]
#有ndim shap dtype size属性
#但不能进行修改,如果修改就会报错
# ind[3]=20

3、导入Excel文件

        使用read_excel() 方法导入文件,首先要指定文件的路径。
注意:使用pandas操作excel使需要先安装openpyxl库
通过以下代码可以导入文件stu_data.xlsx,此时文件是存放在和代码同目录下的,所以是相对路径,而不是绝对路径
import pandas as pd
pd.read_excel('stu_data.xlsx')
3.1 导入.xlsx文件时,指定导入哪个Sheet
pd.read_excel('stu_data.xlsx',sheet_name='Target')
pd.read_excel('stu_data.xlsx',sheet_name=0)
3.2 导入.xlsx文件时,通过index_col指定行索引
pd.read_excel('stu_data.xlsx',sheet_name=0,index_col=0)
3.3 导入.xlsx文件时,通过header指定列索引
pd.read_excel('stu_data.xlsx',sheet_name=0,header=1)
pd.read_excel('stu_data.xlsx',sheet_name=0,header=None)
3.4 导入.xlsx文件时,通过usecols指定导入列
pd.read_excel('stu_data.xlsx',usecols=[1,2,3])

4、导入csv文件

        导入csv 文件时除了指明文件路径,还需要设置编码格式。 Python中用得比较多的两种编码格式是UTF-8 gbk ,默认编码格式是 UTF-8。我们要根据导入文件本身的编码格式进行设置,通过设置参数encoding来设置导入的编码格式。
4.1 导入.csv文件,文件编码格式是gbk
pd.read_csv('stu_data.csv',encoding='gbk')
4.2、导入.csv文件,指明分隔符
df =pd.read_csv("stu_data.csv",encoding='gbk',sep=' ')
pd.read_csv('stu_data.csv',encoding='gbk',sep=',')

5、导入txt文件

        导入.txt文件用得方法时read_table()read_table()是将利用分隔符分开的文件导入。DataFrame的通用函数。它不仅仅可以导入.txt文件,还可以导入.csv文件。

5.1导入.txt文件
pd.read_table('test_data.txt',encoding='utf8',sep='\t')
5.2导入.csv文件,指明分隔符
pd.read_table('stu_data.csv',encoding='gbk',sep=',')

6、列操作

6.1 修改变量列
columns:
df.columns =新的名称 list
df.columns
rename():
df.rename(columns =新旧名称字典:{旧名称,:新名称,}inplace = False :是否直接替换原数据框)
df.rename(columns ={'newname':'name','newname2':'name2'},inplace = True )

6.2 筛选变量列
1、通过 df.var df[var] 可以选择单列, 但只适用于已存在的列,只能筛选单列,结果为 Series
2、通过 df[[var]] 可以选择多列
df[[var]] #单列的筛选结果为 DataFream
df[['var1', 'var2']]#多列时,列名需要用列表形式提供(因此可使用列表中的切片操作)多列的筛选结果为DF

6.3 删除变量列
df.drop(index / columns =准备删除的行/列标签,多个时用列表形式提供,inplace = False :是否直接更改原数据框 )

用del删除,del删除的是全部删除,内存中都会删除

df.drop(columns =['col1','col2'])
del df['column-name'] 直接删除原数据框相应的一列,建议尽量少用
del df.column_name #不允许

6.4添加变量列
6.4.1 根据新数据添加
df[cloumn]=pd.Series([val,val2,val3],index=[c1,c2,c3])
6.4.2 根据原数据添加
df[cloumn] = df[c2]+df[c3]

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

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

相关文章

跨棒距、公法线和齿厚对应关系分析

前面有一期讨论了下滚齿径向进刀量和齿厚的对应关系:《》,有小伙伴又问了,加工时是用跨棒距或者公法线去控制齿厚的,直接给齿厚是无法测量的,如果测一个值再去计算,有点麻烦,有没有他们之间的对…

【操作系统】解析线程安全中的 Synchronized 关键字

目录 synchronized一、互斥性二、可重入性三、synchronized的使用 synchronized synchronized作为确保多线程安全的重要关键字 接下来我们来学习它的特性: 互斥性可重入性 一、互斥性 synchronized会起到互斥效果,某个线程执行到某个对象的synchronized中时,其他…

【详谈】HashMAP深度剖析,全面消化吸收

【万字长文】 还没写完!!还没写完!!!还在码字中,只是先放上,防止又写着没了,自己文件没了… 最近,可以说的上自己博客停更大约有一两个月了,一直在忙于公司中的项目和业务,典型的牛马看了都流泪 今天,自己刚刚优化了一个查询耗时的BUG,在这里我就引入的hashmap作为我存储队列的…

Linux 某进程 CPU 高问题,用 Shell 脚本发现处理

发现高CPU使用率进程 首先,我们需要编写一个Shell脚本来发现系统中CPU使用率最高的进程。以下是一个简单的脚本示例: #!/bin/bash# 设置 CPU 使用率的阈值,一般设置90;这里是demo,所以用30 CPU_THRESHOLD30# 获取占用 CPU 最高的…

学习笔记 韩顺平 零基础30天学会Java(2024.7.24)

P416 匿名内部类本质 IA tiger new IA(){//IA是一个接口 //重写 System.out.println(“老虎叫唤。。。”); } P417 匿名内部类使用 基于类的匿名内部类 Father father new father(“jack”){};//不带大括号运行类型是Father,带大括号就是匿名内部类,相当于是匿名…

【深度学习入门】安装conda/miniconda、所需包类、CUDA与conda/Miniconda间的关系

深度学习入门 须知 本教程跟随李沐老师课程随笔,课程链接点击此处。 CUDA和Anaconda的关系 CUDA Toolkit是由Nvidia官方提供的完整工具包,其中提供了Nvidia驱动程序、开发CUDA程序相关的开发工具包等。 Anaconda在安装Pytorch等会用到的CUDA的框架时…

操作系统(三)中断----软中断

软中断与硬中断很像 软中断是纯软件实现的,宏观效果看上去和中断差不多的一种方式。 什么叫宏观效果呢?意思就是说,中断在宏观层面看来,就是打断当前正在运行的程序,转而去执行中断处理程序,执行完之后再返…

【Python机器学习】使用Matplotlib注解绘制树形图

通过数据集可以创建树,但是字典的表示形式非常不易于理解,而且直接绘制图形也比较困难。但是通过Matplotlib库可以绘制树形图。 决策树的主要优点就是直观、易于理解,如果不能将其直观的显示出来,就无法发挥其优势。 Matplotlib…

y=λsin(πx)分岔的研究

使用如下的迭代格式,λ为可变的参数 用如下代码对收敛的λ的值进行探究,这里的r代表λ %通过观察是否凝聚在同一个点来判断是否收敛 clear;clf; axis([0,4,0,4]); grid; hold on for r0:0.3:3.9x[0.1];for i2:150x(i)r*sin(pi*x(i-1));endpause(0.5);fo…

心动小站Ⅶ--人工智能的虚假承诺

前言 1770 年,匈牙利作家兼发明家 Wolfgang von Kempelen 推出了一款名为“土耳其机器人”的自动国际象棋机器。该机器在欧洲各地展示了其自动化国际象棋大师技能,在与人类对手的比赛中频频获胜。据说它甚至击败了拿破仑和本杰明富兰克林等著名人物。土…

Prometheus之数据类型和函数

前言: 在了解Prometheus数据类型前,我们先了解下面几个统计学名词概念: 平均数(Mean): 平均数是所有数据加起来除以数据个数得到的结果。它表示数据的中心趋势。 最大值(Maximum&#xff09…

Hadoop集群安装配置

文章目录 Hadoop部署配置集群配置历史服务器配置日志的聚集分发Hadoop群起集群Hadoop群起脚本 准备工作:需要3台虚拟机,每台虚拟机搭建好JDK并配置环境变量 Hadoop部署 1)集群部署规划 注意:NameNode和SecondaryNameNode不要安…

Vue中el的两种写法

大家好我是前端寄术区博主PleaSure乐事。今天了解到了Vue当中有关el的两种写法,记录下来与大家分享,希望对大家有所帮助。 方法一 解释 第一种方法我们直接用new创建并初始化一个新的 Vue 实例,并定义了 Vue 实例的数据对象,在给…

数组算法--二分查找

目录 一.前言 二.算法的核心思路 三.算法的核心代码以注释详解 一.前言 二分查找也叫折中查找,为什么会这样叫呢?就是因为我们二分查找的核心逻辑就是每查找完一次,都能将查找的范围给缩小一半,也就是折中。但使用二分查找又有个…

宏VB的1004问题,方法作用于对象错误,如何解决?

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

RV1126 Linux 系统,接外设,时好时坏(二)排查问题的常用命令

在 RV1126 Linux 系统中,排查外设连接问题时,可以使用多种命令来诊断和调试。以下是一些常用的命令和工具: 1. 查看系统日志 dmesg: 显示内核环形缓冲区的消息,通常包含设备初始化、驱动加载和错误等信息。 dmesg | grep <设备名或相关关键字>journalctl: 查看系统…

windows 下删除一个文件夹及其子文件夹下相同后缀名的文件

问题 我有一个工作目录&#xff0c;沉积了四五年的工作 文件。其中有一个相同格式的中间过程文件暂用很大体积&#xff0c;也不需要保留&#xff0c;并且可以通过其他文件生成。因此想一次删除这个工作目录下的所有相同后缀的文件。 解决方法 在工作目录的地址栏输入“cmd”…

leaflet【九】使用天地图改变地图底色

本文将详细探讨如何在Leaflet地图框架中集成天地图&#xff0c;并介绍如何通过调整背景色和滤镜来改变地图的显示效果。首先&#xff0c;我们将解释如何在Leaflet中配置天地图作为底图&#xff0c;包括API密钥的获取与使用。接下来&#xff0c;文章将展示如何通过CSS和JavaScri…

高等数学 第六讲 一元微分学的应用(二)_中值定理,微分等式,微分不等式

高等数学 第6讲 中值定理 微分等式 微分不等式 文章目录 高等数学 第6讲 中值定理 微分等式 微分不等式1.涉及函数的中值定理1.1 有界与最值定理1.2 介值定理1.3 平均值定理1.4 零点定理 2.涉及导数(微分)的中值定理2.1 导数零点定理2.2 罗尔定理2.3 拉格朗日中值定理2.4 柯西中…

如何利用Jenkins自动化管理、部署数百个应用

目录 1. Jenkins 安装与部署步骤 1.1 系统要求 1.2 安装步骤 1.2.1 Windows 系统 1.2.2 CentOS 系统 1.3 初次配置 2. Gradle 详细配置方式 2.1 安装 Gradle 2.1.1 Windows 系统 2.1.2 CentOS 系统 2.2 配置 Jenkins 中的 Gradle 3. JDK 详细配置方式 3.1 安装 JD…