首页 > 其他分享 >pandas使用1

pandas使用1

时间:2023-09-15 22:36:33浏览次数:37  
标签:rows name df lv 使用 print type pandas

涉及的几个重要的类:

pandas.core.frame.DataFrame:表示表格数据

pandas.core.series.Series:表示一组数据

 

data.xlsx数据

 

import pandas as pd

df = pd.read_excel("./data.xlsx", index_col=None) # index_col表示哪一列作为索引列, 默认是额外加一个列, 用行号作为索引
print(type(df)) # <class 'pandas.core.frame.DataFrame'>, 表格类型数据

基础信息

所有列的类型

print(type(df.dtypes)) # <class 'pandas.core.series.Series'>
print(df.dtypes)

列类型

print(df["lv"].dtype) # int64
print(df["name"].dtype) # object

索引信息:默认就是指有多少行,从0开始编号

print(type(df.index)) # <class 'pandas.core.indexes.range.RangeIndex'>
print(df.index) # RangeIndex(start=0, stop=12, step=1)

所有数据

print(type(df.values)) # <class 'numpy.ndarray'>
print(df.values)

维数

print(type(df.shape)) # <class 'tuple'>
print(df.shape) # (12, 8)

表头信息

print(type(df.columns)) # <class 'pandas.core.indexes.base.Index'>
print(df.columns) # Index(['id', 'lv', 'name', 'atk', 'def', 'move', 'desc', 'price'], dtype='object')

a = df.columns[:] # 所有列
print(type(a)) # <class 'pandas.core.indexes.base.Index'>
print(a) # Index(['id', 'lv', 'name', 'atk', 'def', 'move', 'desc', 'price'], dtype='object')

a = df.columns[1:3] # 第2, 3列
print(a) # Index(['lv', 'name'], dtype='object')

col0 = df.columns[0] # 第1列
print(type(col0)) # <class 'str'>
print(col0) # id

 

筛选列 

DataFrame的索引器方式,索引器key的类型:[colName | colName_tuple]

col0 = df.columns[0]
col_allRows = df[col0] # 第1列所有数据
print(type(col_allRows)) # <class 'pandas.core.series.Series'>
print(col_allRows)
print(col_allRows.tolist())

col_allRows = df["id"] # id列所有数据
print(type(col_allRows)) # <class 'pandas.core.series.Series'>
print(col_allRows)

 

cols_allRows = df[["lv", "name"]] # lv, name列所有数据
print(type(cols_allRows)) # <class 'pandas.core.frame.DataFrame'>
print(cols_allRows)

 

筛选行

a) 开头,结尾

head_rows = df.head(2)  # 开头2行数据
print(type(head_rows))  # <class 'pandas.core.frame.DataFrame'>
print(head_rows)

tail_rows = df.tail(2)  # 结尾2行数据
print(type(tail_rows))  # <class 'pandas.core.frame.DataFrame'>
print(tail_rows)

 

b) DataFrame的索引器方式,索引器key的类型:[row_slice]

rows = df[0:3] # 第1至3行, 所有列。不支持df[0:3, ["lv", "name]]
print(type(rows)) # <class 'pandas.core.frame.DataFrame'>
print(rows)

 

c) df.loc的索引器方式,索引器key的类型:df.loc[row_slice | row_list, colName_list | colName_slice]

row = df.loc[1]  # 第2行数据,所有列
print(type(row))  # <class 'pandas.core.series.Series'>
print(row)

 

rows = df.loc[:]  # 所有行,所有列。也可以写成:df.loca[:, :]
print(type(rows))  # <class 'pandas.core.frame.DataFrame'>
print(rows)

rows = df.loc[1:3]  # 第2至3行, 所有列。也可以写成df.loc[1:3, :]
print(rows)

 

rows = df.loc[1:3, ["lv", "name"]]  # 第2至3行, 只需要lv, name列
print(type(rows))  # <class 'pandas.core.frame.DataFrame'>
print(rows)

rows = df.loc[[0, 2, 5], ["lv", "name"]]  # 第1,3,6行, 只需要lv, name列
print(rows)

 

rows = df.loc[1:3, "name":]  # 第2至3行, name后的所有列
print(type(rows))  # <class 'pandas.core.frame.DataFrame'>
print(rows)

rows = df.loc[[0, 2, 5], "name":]  # 第1,3,6行, name后的所有列
print(rows)

 

 

参考

Pandas :数据分析基本操作(更新中) - 知乎 (zhihu.com)

 

标签:rows,name,df,lv,使用,print,type,pandas
From: https://www.cnblogs.com/sailJs/p/17572329.html

相关文章

  • docker 基本使用
    docker基本使用我自己的总结1.创建容器先创建镜像,2.创建镜像先创建dockerfile文件3.以下是dockerfile文件的一部分内容4.容器镜像的创建只能从已有的镜像进行创建(必须有一个官方的镜像然后根据官方的模板创建你自己的)5.也就是说dockerfile中的from关键字必须是官方的......
  • MySQL——基本使用
    基本操作SQL语句分类DDL:数据定义语句【create表,库...】DML:数据操作语句【增删改】DQL:数据查询语句【select】DCL:数据控制语句【管理数据库:比如用户权限grant、revoke】列类型(常用)数值型:TINYINT[UNSIGNED]——1byte,默认有符号INT——4byteBIGINT——8byteFLOAT——4byte......
  • 如何使用透明的div实现页面背景模糊效果
    要在页面背景上实现模糊效果,并使内容区域(<div>)保持半透明,你可以使用CSS的backdrop-filter属性。这个属性可以用于设置页面背景的滤镜效果,而不影响内部内容的模糊。下面是一个示例的代码片段,展示如何实现这个效果:<!DOCTYPEhtml><html><head><title>背景模糊效果</title>......
  • 使用原生的js实现分享功能,代码非常精简
     分享一个原生的js实现移动端分享功能,希望大家喜欢。兼容性: 实现代码:functionshare(){if(!navigator.share){alert("您当前浏览器不支持分享!");}else{navigator.share({title:'{$title}',text:'{$introduce}',url:window.location.href});}}......
  • 如何使用树莓派搭建一个流媒体服务器 All In One
    如何使用树莓派搭建一个流媒体服务器AllInOneRaspberryPiStreamMeidiaServerRaspberryPiMeidiaPlayerOSEmbyMediaServerhttps://emby.media/https://github.com/MediaBrowser/Embyhttps://apps.apple.com/us/app/emby/id992180193?platform=macEmbyThea......
  • 【心得】TP6 使用redis基础
    在业务场景中,我们会面对一些对于不经常更改的数据,但是会频繁访问,会对数据库造成不必要的负载,以及对于一些高并发的处理我们都需要用到缓存的技术,目前主流使用的缓存有MemChachedRedis等,当然我们也有TP框架自带的缓存。但是今天我给大家带来的是redis的基础使用。第一步安装red......
  • linux 内存盘的使用方式与验证
    linux内存盘的使用方式与验证背景某些情况下,硬盘的写入是一个很大的瓶颈使用内存文件系统的方式应该能够极大的提高IO的速度.内存盘的优点是比较快,缺点就是数据不是持久化的.其实还是有很多可以持续优化的方式与方法的.可以最大化的磁盘的IO速度等.内存盘......
  • 力扣-使用最小花费爬楼梯
    1.问题数组的每个索引作为一个阶梯,第i个阶梯对应着一个非负数的体力花费值cost[i](索引从0开始)。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为0或1的元素......
  • QListWidget的使用、数据库获取以及排序
       QListWidget是Qt中的一个用于显示列表型数据的部件,它可以用于显示一列项目(item)的列表。每个项目通常可以包含文本、图标或其他自定义内容。创建一个QListWidget实例:在你的主窗口或其他窗口部件中创建一个QListWidget实例:QListWidget*listWidget=newQListWidget(t......
  • 使用NGINX或者Openresty构建正向和方向代理服务器
    本文提供正向代理和反向代理服务器构建方法,但仅仅提供windows下的具体实例。1、编译这一步对操作者要求非常高,建议跳到第2步。(1)下载OpenResty最新源码包https://openresty.org/download/openresty-1.19.3.1.tar.gz(2)下载正向代理源码包,注意如果openresty是最新版本,则正向代理也下......