2024.4.29 Pandas day01 基础语法

 

pandas是python的一个数据库,在使用数据库的时候需要输入 import pandas as pd 引入,

df = pd.read.csv(''文件路径“):这是利用pandas数据库读取CSV文件的方法,如果读取EXCEL文件或者其他文件,csv文件换成其他文件的格式。

df.dtypes:如果在文件中有字符型数据返回object

df.head(n):表示将前n行数据显示出来,默认是显示前五行

df.tail(n):表示将后n行数据显示出来,默认后五行

最后打印即可

关于dytype

pd.read_csv('Nowcoder.csv')会尝试自动推断每列的数据类型,而pd.read_csv('Nowcoder.csv', dtype=object)会将所有列的数据类型设置为object

如果不指定数据类型(即第一个例子),pandas会尝试推断每个列的数据类型,这可能会导致一些列被错误地解释为不同的类型,从而可能导致错误。指定dtype=object可以确保所有列都被解释为Python对象(即字符串),这对于某些情况可能是有用的。

另一方面,指定正确的数据类型可以提高性能和减少内存使用,因为pandas可以更好地利用数据类型的信息进行优化。 因此,如果您已经知道每列的正确数据类型,则最好指定它们。

在 pandas 中,数据类型object表示一个通用的 Python 对象,可以存储任何 Python 对象类型,包括字符串、整数、浮点数、列表、字典、自定义类等。将数据类型设置为object表示将每个数据点解释为 Python 对象,而不是尝试自动推断数据类型。这种设置在某些情况下可能很有用,比如:

  • 数据集中的某些列包含混合类型的数据(如字符串和数字),而不是单一的数据类型。
  • 某些列的数据类型无法被 pandas 正确地推断。
  • 想要在使用数据时动态地处理数据类型的情况。

但是,由于 object 类型是一个通用的 Python 对象,其存储和处理速度通常比其他数据类型要慢,并且占用更多的内存空间,因此只有在确实需要时才应将数据类型设置为 object

  • loc :  Selection by Label ,按标签取数据,   

loc[行索引,列名/column]

(如果第二个参数的个数是全部即 : ,可以省略不写)。  

例:  

print(df.loc[1,'name'])    # 索引1(行),名为‘name’的列  

  • iloc :  Selection by Position,即按位置选择. 只接受整型参数。  

不接受列字段名称作为参数,只支持列字段的位置索引作为参数。  

iloc[行索引,列索引](没有逗号及以后就是默认列为所有列)  

  • isnull: 判断是否为空。

       返回bool类型的值:True or False

  • any:返回是否至少一个元素为真

       all:返回是否所有元素为真

       axis=1或0:    1表示横轴,方向从左到右;0表示纵轴,方向从上到下

import pandas as pd

df = pd.read_csv("Nowcoder.csv", sep=",", dtype=object)
print(df[df["Language"] == "Python"])
"""
df['Language'] == 'Python' 创建一个布尔型 Series,该 Series 的长度与 df 的长度相同,
并且对应于每行数据,如果该行中 'Language' 列的值为 'Python',则该行对应的 Series 元素为 
True,否则为 False。

最后,使用布尔型 Series 作为索引,将 DataFrame 中所有 'Language' 列为 'Python' 的行提取出来,
并将其打印输出。这里的 df[df['Language']=='Python'] 表示只选择 DataFrame 中 'Language' 
列的值为 'Python' 的行。
"""
 

import pandas as pd

nk = pd.read_csv('Nowcoder.csv',sep=',')

col = [0,1,2,5]

print(nk.iloc[-5:-1,col])

pd.set_option("display.max_columns", None)  # 显示所有的列,而不是以……显示

pd.set_option("display.max_rows", None)  # 显示所有的行,而不是以……显示

pd.set_option("display.width", None)  # 不自动换行显示

这是使用 `pd.set_option()` 函数设置 Pandas 显示选项的例子。让我解释一下这些选项的含义:

- `pd.set_option('display.width', 300)`: 设置显示一行的最大字符宽度为300。这意味着当你输出一行的内容时,如果内容的字符宽度超过了300,Pandas会尝试自动换行,以使输出更容易阅读,None就可以不换行。

- `pd.set_option('display.max_rows', None)`: 设置显示的最大行数为无限。当你输出 DataFrame 或 Series 时,所有行都会被显示,而不是被截断。这可以帮助你查看整个数据集。

- `pd.set_option('display.max_columns', None)`: 设置显示的最大列数为无限。当你输出 DataFrame 时,所有列都会被显示,而不是被截断。这对于查看包含大量列的 DataFrame 是有用的。

这些选项的设置可以根据你的需要进行调整。在实际使用中,你可以根据数据的大小和显示需求来设置这些选项。例如,如果你的数据集很大,可能需要限制显示的行数和列数,以避免输出过于庞大。

同时多个条件筛选

cond1 = Nowcoder['Language'] == 'CPP'

cond2 = Nowcoder['Level'] == 7

cond3 = Nowcoder['Graduate_year'] != 2018

cond = cond1 & cond2 & cond3

print(Nowcoder[cond])

或者使用查询

print(nk.query('Language=="CPP"&Level>=7 &Graduate_year!=2018'))

import pandas as pd
Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
# 完整版函数
# value_counts(normalize=False, sort=True, ascending=False, bins=None, dropna=True)
# 参数:
# 1.normalize : boolean, default False 默认false,如为true,则以百分比的形式显示
# 2.sort : boolean, default True 默认为true,会对结果进行排序
# 3.ascending : boolean, default False 默认降序排序
# 4.bins : integer, 格式(bins=1),意义不是执行计算,而是把它们分成半开放的数据集合,只适用于数字数据
# 5.dropna : boolean, default True 默认删除na值


print(Nowcoder['Language'].value_counts())

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【强训笔记】day18

NO.1 思路&#xff1a;双指针模拟。to_string将数字转化为字符。 代码实现&#xff1a; class Solution { public:string compressString(string param) {int left0,right0,nparam.size();string ret;while(right<n){while(right1<n&&param[right]param[right…

jenkins持续集成框架

1 什么是jenkins Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具&#xff0c;起源于Hudson&#xff08;Hudson是商用的&#xff09;&#xff0c;主要用于持续、自动的构建/测试软件项目、监控外部任务的运行&#xff08;这个比较抽象&#xff0c;暂且写上&#xff0…

React19学习-初体验

升级react19版本 安装 npm install reactbeta react-dombeta如果使用ts则需要在package.json中添加。等正式版发布直接可以使用types/react了 "overrides": {"types/react": "npm:types-reactbeta","types/react-dom": "npm:ty…

【Java基础】Maven继承

1. 前言 Maven 在设计时&#xff0c;借鉴了 Java 面向对象中的继承思想&#xff0c;提出了 POM 继承思想。 2. Maven继承 当一个项目包含多个模块时&#xff0c;可以在该项目中再创建一个父模块&#xff0c;并在其 POM 中声明依赖&#xff0c;其他模块的 POM 可通过继承父模…

【智能优化算法】矮猫鼬优化算法(Dwarf Mongoose Optimization Algorithm,DMHO)

矮猫鼬优化算法(Dwarf Mongoose Optimization Algorithm,DMHO)是期刊“COMPUTER METHODS IN APPLIED MECHANICS AND ENGINEERING”&#xff08;IF 7.3&#xff09;的2022年智能优化算法 01.引言 矮猫鼬优化算法(Dwarf Mongoose Optimization Algorithm,DMHO)模仿矮猫鼬的觅食行…

【论文阅读笔记】MAS-SAM: Segment Any Marine Animal with Aggregated Features

1.论文介绍 MAS-SAM: Segment Any Marine Animal with Aggregated Features MAS-SAM&#xff1a;利用聚合特征分割任何海洋动物 Paper Code(空的) 2.摘要 最近&#xff0c;分割任何模型&#xff08;SAM&#xff09;在生成高质量的对象掩模和实现零拍摄图像分割方面表现出卓越…

有没有什么app能提醒事情的?能提醒做事的软件有哪些?

在繁忙的现代社会&#xff0c;我们每天都面临着众多的事项和压力。很容易在快节奏的生活和工作中遗漏一些重要事务&#xff0c;而这种遗忘往往会给我们带来诸多不必要的困扰。要想把所有事项都牢记在心&#xff0c;仅靠人脑显然是难以实现的。幸运的是&#xff0c;我们可以借助…

接口测试用例设计思路(通俗易懂)

一、接口测试的流程&#xff1a; 需求分析(需求文档、开发提供接口文档)→测试设计→测试用例评审→测试执行→验收→预发布→上线 二、基本功能流程测试&#xff1a; 冒烟测试(主业务的正向流程)、正常流程覆盖测试(正常分支的业务流程进行覆盖→分支覆盖、路径覆盖、业务场…

十大排序算法之->希尔排序

一、希尔排序简介 希尔排序&#xff0c;也称为缩小增量排序&#xff0c;是由D.L. Shell于1959年提出的。它的核心思想是将整个待排序的记录序列分割成若干个子序列&#xff0c;这些子序列的元素是相隔一定“增量”的。然后对这些子序列分别进行直接插入排序。随着增量的逐步减…

Pycharm 执行pytest时,会遇见某些case Empty suite

我这边的情况是有些case就是执行不了&#xff0c;百度了很多&#xff0c;有说设置选pytest的&#xff0c;有命名规范的&#xff0c;都没有成功。后面问了同事之后才发现&#xff0c;pytest 的框架&#xff0c;pytest.ini 执行的时候&#xff0c;加了个标签&#xff0c;主动把某…

Linux 安装JDK和Idea

安装JDK 下载安装包 下载地址&#xff1a; Java Downloads | Oracle (1) 使用xshell 上传JDK到虚拟机 (2) 移动JDK 包到/opt/environment cd ~ cd /opt sudo mkdir environment # 在 /opt下创建一个environment文件夹 ls# 复制JDK包dao /opt/environment下 cd 下载 ls jd…

短信群发公司通道有哪些要求

短信群发公司通道有哪些要求 网络稳定性 短信群发公司的通道在进行时需要具备良好的网络稳定性。这意味着通道需要能够稳定连接到互联网&#xff0c;并具备高速传输能力。在网络不稳定或者传输速度慢的情况下&#xff0c;可能会受到影响&#xff0c;甚至导致失败。 高可靠性 …

【竞技宝】欧冠:欧洲三大赛事决赛对阵出炉

本赛季欧洲三级赛事的决赛对阵均已出炉:皇马与多特蒙德相聚欧冠决赛;勒沃库森将会和亚特兰大争夺欧联杯冠军;奥林匹亚科斯则要与佛罗伦萨争夺欧协联的冠军。在6支决赛球队中,德甲和意甲都有两支球队,而西甲的皇马则是夺冠最大热门,近几个赛季战斗力极强的英超在欧战方面彻底失败…

pydev debugger: process **** is connecting

目录 解决方案一解决方案二 1、调试时出现pydev debugger: process **** is connecting 解决方案一 File->settings->build,execution,deployment->python debugger 下面的attach to subprocess automatically while debugging取消前面的勾选&#xff08;默认状态为勾…

python之并发编程

python之并发编程 线程的创建方式线程的创建方式(方法包装)线程的创建方式(类包装)join()【让主线程等待子线程结束】守护线程【主线程结束&#xff0c;子线程就结束】 锁多线程操作同一个对象(未使用线程同步)多线程操作同一个对象(增加互斥锁&#xff0c;使用线程同步)死锁案…

多线程-写入读取文件,使用同步逻辑

在一个进程中&#xff0c;创建一个子线程。 主线程负责:向文件中写入数据 子线程负责:从文件中读取数据 要求使用线程的同步逻辑&#xff0c;保证一定在主线程向文件中写入数据成功之后&#xff0c;子线程才开始运行&#xff0c;去读取文件中的数据 #include <stdio.h> …

(2024,SD,条件 GAN,蒸馏,噪声到图像翻译,E-LatentLPIPS)将扩散模型蒸馏为条件 GAN

Distilling Diffusion Models into Conditional GANs 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 3. 方法 3.1 用于一步生成的配对的噪声到图像翻译 3.2 用于潜在空间蒸馏…

Android 按钮Button点击音效

一、新建工程 编译运行&#xff0c;确保工程无误&#xff0c;这里不过多赘述。 二、UI布局 添加两个播放音效Button <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"…

eclipse创建web项目

前言&#xff1a;我是第一次写web项目&#xff0c;探索了很多天&#xff0c;今天就把我知道的分享给大家&#xff0c;希望大家能够少走弯路&#xff0c;早点写出属于自己的web项目。完成课程设计或毕业设计。 一.准备工作 首先&#xff0c;在这里推荐一个网站--菜鸟教程。这个…