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())

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

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

相关文章

高项第四版 十大管理及49个过程【背】作业分享

项目管理 1.十大管理【背】 包括(口诀:范进整狗子(沟质) 才(采)干成疯子(风资)): (1)项目整合管理:识别、定义、组合、统一和协调各项目管理过程组的各个过…

STM32F10x移植FreeRTOS

一、获取FreeRTOS源码 (1)登录FreeRTOS官网:www.freertos.org,下载第一个压缩包 (2)通过GitHub网站:github.com/FreeRTOS/FreeRTOS下载,由于该网站服务器在国外,所以访问…

【busybox记录】【shell指令】sort

目录 内容来源: 【GUN】【sort】指令介绍 【busybox】【sort】指令介绍 【linux】【sort】指令介绍 使用示例: 排序 - 默认排序 排序 - 检查所给文件是否已经排序 排序 - 输出已经排序过的文件,不会重新排序 排序 - 忽略每行前面的空…

Linux cmake 初窥【2】

1.开发背景 基于上一篇的基础上,再次升级 2.开发需求 基于 cmake 指定源文件目录可以是多个文件夹,多层目录 3.开发环境 ubuntu 20.04 cmake-3.23.1 4.实现步骤 4.1 准备源码文件 工程目录如下 顶层脚本 compile.sh 负责执行 cmake 操作&#xff0…

基于51单片机的ADC0804的电压表设计(仿真+源码+设计资料)

目录 1、前言 2、资料内容 3、仿真图 4、程序 资料下载地址:基于51单片机的ADC0804的电压表设计(仿真源码设计资料) 1、前言 最近看网上有很少的ADC0804的设计了,都由0809代替,但是有个别因为成本原因和学校课…

从 Servlet 到 SpringMvc

从 Servlet 到 SpringMvc 下图为 SpringMvc 的 DispatcherServlet 到 Servlet 的继承体系结构,从 HttpServletBean 开始的子类,便属于 Spring 的体系结构,Spring 框架中类似这种以 XXXBean 结尾是用于和其它框架进行整合的 JavaBean 对象&am…

Unity技术学习:渲染大量物体的解决方案,外加RenderMesh、RenderMeshInstanced、RenderMeshIndirect的简单使用

叠甲:本人比较菜,如果哪里不对或者有认知不到的地方,欢迎锐评(不玻璃心)! 导师留了个任务,渲染大量的、移动的物体。 寻找解决方案: 当时找了几个解决方案: 静态批处…

硬件工程师必读:10条职业发展黄金法则!

在快速发展的科技时代,硬件工程师作为推动技术创新和产业升级的重要力量,其职业发展之路既充满挑战也蕴含无限机遇。为了在这条道路上稳步前行,我们首先需要了解硬件产品的研发流程。 在这个过程中,公司内的每个岗位都发挥着不可或…

【Linux】基础命令

常用命令及参数:dir表示文件夹,file表示文件(file可表示其他目录下的文件) pwd命令;查看当前所属文件夹(print working directory) ls [选项] dir;查看当前、指定文件夹目录内容&am…

6.移除元素

文章目录 题目简介题目解答解法一:双指针代码:复杂度分析: 解法二:双指针优化代码:复杂度分析: 题目链接 大家好,我是晓星航。今天为大家带来的是 相关的讲解!😀 题目简…

无卤素产品是什么?有什么作用?

无卤素产品,即在生产过程中完全不使用卤素元素——氟、氯、溴、碘等——的产品。 卤素元素,虽然在电子设备、材料等领域应用广泛,却也可能潜藏危害。其阻燃剂,一旦在产品生命周期结束后释放,将对土壤和水体造成污染&a…

pxe远程安装

PXE 规模化:可以同时装配多台服务器 自动化:自动安装操作系统和各种配置 不需要光盘U盘 前置需要一台PXE服务器 pxe是预启动执行环境,再操作系统之前运行 实验: 首先先关闭防火墙等操作 [rootlocalhost ~]# systemc…

普洱茶泡多少茶叶才算淡茶?

普洱茶淡茶一般放几克茶叶,品深茶官网根据多年专业研究与实践结果,制定了淡茶冲泡标准。在冲泡普洱茶淡茶时,茶叶的投放量是关键因素之一。淡茶冲泡标准旨在保持茶汤的清爽口感,同时充分展现普洱茶的独特风味。 根据《品深淡茶冲…

手动配置dns后网速变慢

之前因为自动的dns能上qq但打不开网页,就手动设置了一个,结果近些天时不时出现网页图片加载慢的问题,影响到我看美女图片了,是可忍熟不可忍 测了下网速,很快,下载上传都是三位数的,那显然不是网…

交易复盘-20240507

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 一支股票 10%的时候可以操作, 90%的时间适合空仓等待 蔚蓝生物 (5)|[9:25]|[36187万]|4.86 百合花…

【Qt 学习笔记】Qt常用控件 | 输入类控件 | Date/Time Edit的使用及说明

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 输入类控件 | Spin Box的使用及说明 文章编号&#xff1…

Quora 首席执行官亚当·德安杰洛 (Adam D’Angelo) 谈论了 AI、聊天机器人平台 Poe,以及 OpenAI 为什么不是竞争对手

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

回归预测 | Matlab实现基于CNN-SE-Attention-ITCN多特征输入回归组合预测算法

回归预测 | Matlab实现基于CNN-SE-Attention-ITCN多特征输入回归组合预测算法 目录 回归预测 | Matlab实现基于CNN-SE-Attention-ITCN多特征输入回归组合预测算法预测效果基本介绍程序设计参考资料 预测效果 基本介绍 【模型简介】CNN-SE_Attention结合了卷积神经网络&#xff…

代码随想录day19day20打卡

二叉树 1 二叉树的最大深度和最小深度 最大深度已经学习过了,实质就是递归的去判断左右子节点的深度,然后对其进行返回。 附加两个学习的部分: (1)使用前序遍历的方法求解 int result; void getdepth(TreeNode* nod…

Linux\_c输出

第一条Linux_c输出 初界面 : ls # 显示目录下的文件cd # 进入到某个目录 # 比如 我进入了Codels # 发现没有显示, 说明为文件下为空vim cpucdoe.c # 创建一个 .c的源码文件进入到了vim的编辑界面: i # 按i 就可以进行编辑 , 下面显示插入标识在编辑模式下, 可以通…