第四章. Pandas进阶—数据格式化

2023-11-13

第四章. Pandas进阶

4.2 数据格式化

1.设置小数位数(round函数)

DataFrame.round(decimals=0*args,**kwargs)

参数说明:
decimals:用于设置保留的小数位数
args,kwargs:附加关键字的参数
返回值:返回DataFrame对象

1).示例:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.random([3, 4]), columns=['A1', 'A2', 'A3', 'A4'])
print(df)

# decimals: int
df1 = df.round(4)
print(df1)

# decimals:dict[IndexLabel, int]
df1 = df.round({'A1': 1, 'A2': 2, 'A3': 3, 'A4': 4})
print(df1)

# Series
coeff=pd.Series(data=[1,3,2,4],index=['A1', 'A2', 'A3', 'A4'])
df1 = df.round(coeff)
print(df1)

结果展示:
在这里插入图片描述

2).保留小数位数也可以使用自定义函数,但是需要注意处理后的数据是对象型数据,不在是浮点型数据,后续计算则需要先转换成浮点型

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.random([3, 4]), columns=['A1', 'A2', 'A3', 'A4'])
print(df)

# decimals: int
df1 = df.round(4)
print(df1)
print(df1.dtypes)

#自定义
df1 = df.applymap(lambda x:'%.3f'%x)
print(df1)
print(df1.dtypes)

结果展示:
在这里插入图片描述

2.设置百分比(apply+format函数):

DataFrame.mean([axis=0,skipna=1,level,...])

参数说明:
axis:轴,0:表示列 1:表示行,默认值:0
skipna:skipna=1:表示NaN值自动转换成0,skipna=0:表示NaN值不自动转换,默认为1
level:表示索引等级
返回值:返回Series对象或DataFrame对象,一组含有行列数据计算后的结果

1).示例:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.random([3, 4]), columns=['A1', 'A2', 'A3', 'A4'])
print(df)

df['百分比'] = df["A4"].apply(lambda x: format(x, '.2%'))
print(df)
df['百分比'] = df["A4"].map(lambda x: '{:.3%}'.format(x))
print(df)

结果展示:
在这里插入图片描述

3.设置千位分隔符(apply+format函数):

DataFrame.max([axis=0,skipna=1,level,...])

参数说明:
axis:轴,0:表示列 1:表示行,默认值:0
skipna:skipna=1:表示NaN值自动转换成0,skipna=0:表示NaN值不自动转换,默认为1
level:表示索引等级
返回值:返回Series对象或DataFrame对象,一组含有行列数据计算后的结果

1).示例:

import pandas as pd

pd.set_option('display.unicode.east_asian_width', True)
data = [['python', '1月', 55667788990], ['C#', '3月', 5169563240], ['c++', '7月', 3648953706]]
columns = ['书籍', '月份', '销量']
df = pd.DataFrame(data=data, columns=columns)
print(df)
df['销量'] = df['销量'].apply(lambda x: format(int(x), ','))
print(df)

结果展示:
在这里插入图片描述

注:设置千位分隔符后,不在是数值型,而是字符串,后续的计算需要转换成数值型会很麻烦,因此需慎用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第四章. Pandas进阶—数据格式化 的相关文章

  • scipy.optimize on pandas dataframe

    我试图搜索它 但结果很差 有人可以向我解释一下如何在 Pandas DataFrame 上执行 optimize minimize 以便最小化 DataFrame 中的类别和结果列之间的错误 考虑这个例子 import pandas as
  • Python 转换矩阵

    我有一个如下所示的列表 2 1 3 1 2 3 1 2 2 2 我想要的是一个转换矩阵 它向我显示如下序列 1 后跟 1 的频率是多少 1 后面跟着 2 的频率是多少 1 后跟 3 的频率是多少 2 后跟 1 的频率是多少 2 后跟 2 的
  • 如何使用一个模型中间层的输出作为另一个模型的输入?

    我训练一个模型A并尝试使用中间层的输出name layer x 作为模型的附加输入B 我尝试像 Keras 文档一样使用中间层的输出https keras io getting started faq how can i obtain th
  • 通过 python 中的另外两个修改数组[重复]

    这个问题在这里已经有答案了 假设我们有三个一维数组 A 长度为 5 B 长度相同 示例中为5 C 更长 比如长度为 100 C最初用零填充 A给出索引C应更改的元素 它们可能会重复 以及B给出应添加到初始零的值C 例如 如果A 1 3 3
  • 键入的完整命令行

    我想获得输入时的完整命令行 This join sys argv 在这里不起作用 删除双引号 另外 我不想重新加入已解析和拆分的内容 有任何想法吗 你太迟了 当键入的命令到达 Python 时 您的 shell 已经发挥了它的魔力 例如 引
  • Keras model.predict 函数给出输入形状错误

    我已经在 Tensorflow 中实现了通用句子编码器 现在我正在尝试预测句子的类概率 我也将字符串转换为数组 Code if model model type universal classifier basic class probs
  • 如何在Windows中的Python 3.9下pip安装pickle?

    我需要pickle https docs python org 3 9 library pickle html module pickle包安装在我的下面Python 3 9在 Windows 10 下 我尝试过的 当尝试与pip inst
  • 无法在 virtualenv 中安装 libxml2

    我有一个问题libxml2蟒蛇模块 我正在尝试将其安装在python3 虚拟环境使用以下命令 pip install libxml2 python3 但它显示以下错误 Collecting libxml2 python3 Using cac
  • 查找正在导入哪些 python 模块

    从应用程序中使用的特定包中查找所有 python 模块的简单方法是什么 sys modules是将模块名称映射到模块的字典 您可以检查其键以查看导入的模块 See http docs python org library sys html
  • 带有 mkdocs 的本地 mathjax

    我想在无法访问互联网的计算机上使用 MathJax 和 Mkdocs 因此我不能只调用 Mathjax CDN Config mkdocs yml site name My Docs extra javascript javascripts
  • 在linux上安装python ssl模块,无需重新编译

    是否可以在已经安装了 OpenSSL 的 Linux 机器上安装 python 的 SSL 模块 而无需重新编译 python 我希望它就像复制几个文件并将它们包含在库路径中一样简单 Python版本是2 4 3 谢谢 是否可以在已经安装了
  • 如何从hdfs读取文件[重复]

    这个问题在这里已经有答案了 我在 project1目录下的hadoop文件系统中有一个文本文件名mr txt 我需要编写 python 代码来读取文本文件的第一行 而不将 mr txt 文件下载到本地 但我无法从 hdfs 打开 mr tx
  • ValueError:数据必须为正(boxcox scipy)

    我正在尝试将我的数据集转换为正态分布 0 8 298511e 03 1 3 055319e 01 2 6 938647e 02 3 2 904091e 02 4 7 422441e 02 5 6 074046e 02 6 9 265747e
  • 设置高亮大括号的 vim 颜色主题

    如何更改突出显示大括号的 vim 配色方案 我希望实际编辑 vim 主题文件以使更改永久生效 问候 克雷格 匹配括号的自动高亮颜色称为MatchParen 您可以通过执行以下操作来更改 vimrc 中的颜色 highlight MatchP
  • 如何用正则表达式替换多个匹配/组?

    通常我们会编写以下内容来替换一场比赛 namesRegex re compile r is life re I replaced namesRegex sub r butter There is no life in the void pr
  • python Recipe:列出最接近等于值的项[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 考虑像这样的列表 0 3 7 10 12 15 19 21 我想获得最接近任何值的最近的最小数字 所以如果我通过4 我会得到3 如果我
  • 如何创建用于霍夫曼编码和解码的树?

    对于我的作业 我将对霍夫曼树进行编码和解码 我在创建树时遇到问题 并且陷入困境 不要介意打印语句 它们只是让我测试并查看函数运行时的输出是什么 对于第一个 for 循环 我从主块中用于测试的文本文件中获取了所有值和索引 在第二个 for 循
  • 使用 pandas 单元格中列表的长度选择行[重复]

    这个问题在这里已经有答案了 我有一张表 df a b c 1 x y x 2 x z c d 3 x t e f g 只是想知道如何使用 c 列的长度选择行 such as df loc len df c gt 1 我知道这是不对的 正确的
  • 为boost python编译的.so找不到模块

    我正在尝试将 C 代码包装到 python 中 只需一个类即可导出两个函数 我编译为map so 当我尝试时import map得到像噪音一样的错误 Traceback most recent call last File
  • Biopython 可以执行 Seq.find() 来解释歧义代码吗

    我希望能够在 Seq 对象中搜索考虑歧义代码的子序列 Seq 对象 例如 以下内容应该是正确的 from Bio Seq import Seq from Bio Alphabet IUPAC import IUPACAmbiguousDNA

随机推荐

  • centos安装mysql遇到的问题

    一 提示mysql community libs compat的GPG不对 错误信息 warning var cache yum x86 64 7 mysql57 community packages mysql community lib
  • acc 蓝牙_蓝牙中的三种音频编码:Apt-X、SBC、AAC,请问分别有什么区别?

    展开全部 SBC一般的音频格式 蓝牙传输在不支持AAC aptx的时候都用SBC传输 音质一般 现在80 都是这种格式 AAC 当蓝62616964757a686964616fe4b893e5b19e31333365653164牙支持AAC
  • NCBI(pubmed)里医学主题词(MeSH)完整词库获取

    NCBI pubmed 里医学主题词 MeSH 完整词库获取 转载提示 原创文章 转载前请联系我 文章目录 NCBI pubmed 里医学主题词 MeSH 完整词库获取 前言 一 MeSH词库是什么 二 获取MeSH词库的方式 1 从官网的
  • caffe代码阅读8: Data_layers的实现细节(各个数据读取层的实现细节) 2016.3.25-28

    一 Data layers hpp文件的作用简介 Data layers hpp在目前caffe的master分支中已经不能存在了 分散到各个文件中去了 而之前是存在于cafferoot include caffe中 现在已经变成了各个类的
  • 火线、零线和地线及开关接线参考

    火线 零线和地线及开关接线参考 1 火线 零线和地线 1 1 What is Live wire Live wire L 火线 相线 火线是电路中输送电的电源线 1 2 What is Neutral wire Neutral wire N
  • 2022陕西省网络搭建及应用技能大赛windows服务器搭建部分答案视频

    2022陕西省网络搭建及应用技能大赛windows服务器搭建部分答案视频资源 CSDN文库 https download csdn net download weixin 41687096 87684084
  • Gateway服务网关入门

    Gateway服务网关 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目 该项目是基于 Spring 5 0 Spring Boot 2 0 和 Project Reactor 等响应式编程和事件流技术
  • Android之 内存泄漏问题检测和解决

    一 背景 1 1 什么是内存泄漏 内存泄漏指程序在申请内存后 无法释放已申请的内存空间 导致系统无法及时回收内存并且分配给其他进程使用 1 2 内存管理 1 3 垃圾回收 上面可以看出GC回收的主要对象是java堆 也就是new出来的对象
  • Zipkin链路追踪

    Zipkin链路追踪技术分享 什么是Zipkin Zipkin 是 Twitter 的一个开源项目 它基于 Google Dapper 实现 它致力于收集服务的定时数据 以 解决微服务架构中的延迟问题 包括数据的收集 存储 查找和展现 我们
  • Python实现移动平均数

    首先 什么是移动平均数呢 来自百度百科 若依次得到测定值 时 按顺序取一定个数所做的全部算术平均值 例如 等是移动平均值 详细可以点击此处链接 Python中是如何实现呢
  • 电子科技大学计算机系统结构复习笔记(三):流水线技术

    目录 前言 重点一览 流水线定义 基本概念 流水线分类 流水线特点 流水线时空图 流水线性能分析 流水线特点 经典5段流水线RISC处理器 流水线的三种冒险 冒险分类 停顿流水线 结构冒险 数据冒险 控制冒险 流水线处理机的指令系统 流水线
  • kitti数据集解析以及在mmdection3d中的pkl文件参数解析

    kiiti数据集介绍 kitti数据集存在4个相机 其中0和1为灰度相机 2和3为彩色相机 各设备之间的安装示意图如下所示 如图所示 相机坐标系 x轴向右 y轴向下 z轴向前 雷达坐标系 x轴向前 y轴向左 z轴向上 GPS IMU坐标系
  • STM32项目设计:基于stm32f4的智能门锁(附项目视频全套教程、源码资料)

    文章目录 智能门锁 一 项目背景 二 项目功能要求 三 元件准备 四 项目设计 一 原理图设计 二 硬件设计 三 程序设计 五 上机调试 六 知识扫盲 七 项目图片展示 智能门锁 资料链接 智能门锁 rar 2022年1月1日前 单片机设计
  • 机器学习项目入门篇:一个完整的机器学习项目

    本部分 我们会作为被一家地产公司雇佣的数据科学家 完整地学习一个项目 下面是主要步骤 项目概述 获取数据 发现并可视化数据 发现规律 为机器学习算法准备数据 选择模型 进行训练 微调模型 给出解决方案 部署 监控 维护系统 一 项目概述 任
  • 05-Redis

    1 Redis为什么快 1 纯内存操作 2 单线程可以省去多线程时CPU上下文会切换的时间 3 渐进式ReHash 缓存时间戳 数组需要扩容的时候 他会维护两张hash表 比如第一张的数组长度为6 另一张的数组长度为12 在set和get的
  • Android Stuido卡顿解决方法

    修改Android studio的安装目录下bin studio vmoptions和studio64 vmoptions 两个文件的以下属性就可以在内存配置比较大的电脑上有效减少Android Stuido卡顿现象 多开也不怎么卡了 Xm
  • Gate仿真错误Illegal application state /gate/source/addSources ***

    我采用vGate8 2进行仿真 仿真程序是gate GateContrib CT vrt 出现如下错误 Illegal application state source addSources xraygun gt google搜索发现 是I
  • addr2line 定位bug

    addr2line e 文件地址 exe so a 地址 0x
  • Qt 的TCP网络通信

    Qt网络通信 Socket 通信 Qt 中提供的所有的 Socket 类都是非阻塞的 Qt 中常用的用于Socket 通信的套接字类 QTCPServer 用于TCP IP 通信 作为服务器端套接字使用 QTCPSocket 用于TCP I
  • 第四章. Pandas进阶—数据格式化

    第四章 Pandas进阶 4 2 数据格式化 1 设置小数位数 round函数 DataFrame round decimals 0 args kwargs 参数说明 decimals 用于设置保留的小数位数 args kwargs 附加关