为每列指定不同的 float_format(科学记数法与小数精度)

2024-06-19

我有多个列,有些我想要科学记数法,其他的则需要特定级别的小数精度:

   Frequency    n
0     0.0023  2.3
1     0.0420  4.5
2     0.5460  6.7
3     0.1230  8.9

频率可以有很小的数量级,所以我最终得到了十亿个零。 “n”列应具有一定的小数位数。

我尝试在“频率”列上执行以下操作:

fntables['Frequency'].options.display.float_format = '{:.2e}'.format

这会返回预期的错误,即“'Series'对象没有属性'options'”,因为选项位于 pandas 级实例上。


  • pandas:可用选项 https://pandas.pydata.org/pandas-docs/stable/user_guide/options.html#available-options

样本数据

import pandas as pd
import numpy as np

# sample data
np.random.seed(10)
df = pd.DataFrame(np.random.random(5)**10, columns=['A'])

# display(df)
              A
0  7.453316e-02
1  1.481116e-17
2  1.043476e-02
3  5.542183e-02
4  9.477913e-04

set precision: 全局设置

  • 浮点输出精度以小数点后的位数表示,适用于常规格式以及科学记数法。类似于 numpy 的精度打印选项
  • pd.reset_option('precision')重置设置。
pd.set_option('precision', 3)

# display(df)
           A
0  7.453e-02
1  1.481e-17
2  1.043e-02
3  5.542e-02
4  9.478e-04

print(df.iloc[0, 0])
[out]:
0.07453316227023182

set float_format: 全局设置

  • 可调用函数应接受浮点数并返回具有所需数字格式的字符串。这在某些地方使用,例如 SeriesFormatter。有关示例,请参阅 core.format.EngFormatter。
  • pd.reset_option('float_format')重置设置。
pd.options.display.float_format = '{:.3e}'.format

# display(df)
          A
0 7.453e-02
1 1.481e-17
2 1.043e-02
3 5.542e-02
4 9.478e-04

print(df.iloc[0, 0])
[out]:
0.07453316227023182

apply or map: str format

df['format'] = df.A.apply(lambda x: f'{x:0.3e}')
df['format'] = df.A.apply('{:,.3e}'.format)
df['format'] = df.A.map('{:,.3e}'.format)

# display(df)
              A     format
0  7.453316e-02  7.453e-02
1  1.481116e-17  1.481e-17
2  1.043476e-02  1.043e-02
3  5.542183e-02  5.542e-02
4  9.477913e-04  9.478e-04

np.format_float_scientific: str format

df['numpy_format'] = df.A.map(lambda x: np.format_float_scientific(x, precision = 3))

# display(df)
              A numpy_format
0  7.453316e-02    7.453e-02
1  1.481116e-17    1.481e-17
2  1.043476e-02    1.043e-02
3  5.542183e-02    5.542e-02
4  9.477913e-04    9.478e-04
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为每列指定不同的 float_format(科学记数法与小数精度) 的相关文章

  • Selenium AttributeError:列表对象没有属性 find_element_by_xpath

    我正在尝试从网站上抓取一些营养数据 到目前为止一切似乎都进展顺利 直到我遇到格式略有不同的页面 使用 selenium 和这样的行 返回一个空列表 values browser find elements by class name siz
  • ModuleNotFoundError:没有名为“pwd”的模块——airflow python [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我想使用以下方式安装气流的 Web UI airflow webserver port 1080 但我收到这个错误 Mo
  • 整数 numpy 数组乘以浮点数

    我有一个包含整数值的 numpy 数组 如果我将整个矩阵乘以一个浮点数 结果是一个浮点矩阵 但如果我通过 for 循环逐列相乘 它只给出整数部分 import numpy as np A np array 1 2 3 4 5 6 7 8 9
  • 在 Pycharm 中使用 scikit-learn 未解析的属性引用“predict()”

    当使用 scikit learn 中的决策树分类器时 docs http scikit learn org stable modules tree html展示您将存储分类器的变量重新分配给其自身的输出 调用fit method clf t
  • 使用 Python 请求通过 POST 请求发送图像

    我目前正在尝试使用 Python 3 5 和 Requests 库来发送 POST 请求 此 POST 将发送一个图像文件 这是示例代码 import requests url https api address files files o
  • 如何让 Numpy 将每一行/张量视为一个值

    许多功能 例如in1d https docs scipy org doc numpy 1 13 0 reference generated numpy in1d html and setdiff1d https docs scipy org
  • Python select() 行为很奇怪

    我在理解 select select 的行为时遇到一些困难 请考虑以下 Python 程序 def str to hex s def dig n if n gt 9 return chr 65 10 n else return chr 48
  • 十六进制转储文件的Pythonic方式

    我的问题很简单 有什么方法可以用 bash 命令以 Python 方式进行编码吗 hexdump e 2 1 02x file dat 显然 不使用 os popen 或任何快捷方式 编辑 虽然我没有明确指定 但如果代码在 Python3
  • 我可以使用 Python 访问 ImageMagick API 吗?

    我需要使用图像魔术师 http www imagemagick org script index php因为 PIL 没有我正在寻找的可用图像功能量 但是 我想使用Python python 绑定 PythonMagick 自 2009 年
  • 如何从sqlalchemy中的select语句创建新表?

    我正在使用 sqlalchemy 的核心功能来编写一些抽象层 该层本身需要能够从 select 语句创建表 示例代码 metadata MetaData bind engine table Table table name metadata
  • 转换为 Base 64 时,TypeError: 'str' 不支持缓冲区接口 [重复]

    这个问题在这里已经有答案了 im Image open filePath load image self msg str bytearray list im getdata convert image data to string enco
  • 如何计算 pandas 系列中到前一个零的距离?

    我有以下 pandas 系列 以列表形式表示 7 2 0 3 4 2 5 0 3 4 我想定义一个新的系列 返回到最后一个零的距离 这意味着我想要以下输出 1 2 0 1 2 3 4 0 1 2 如何以最有效的方式在 pandas 中做到这
  • 与正在运行的进程通信

    We have 基于Python的服务器 A 正在运行的命令行应用程序 在同一台 Linux 机器上 能够读取stdin 计算一些东西并将输出提供给stdout B 将输入从 A 发送到的最佳 最优雅 方式是什么 stdin B 的 并等待
  • python pandas 将两行或多行文本合并为一行

    我有包含文本数据的数据框 如下所示 name address number 1 Bob bob No 56 2 gmail com 3 Carly email protected cdn cgi l email protection No
  • python 中是否可以有受保护的类变量或方法? [复制]

    这个问题在这里已经有答案了 python 中是否可以有受保护的类变量或方法 我可以看一下这种用法的示例吗 最简洁的答案是不 有一些约定和良好的风格允许您指示某人不应修改这些变量或从类外部调用这些方法 但没有办法严格执行这一点 Python
  • Python 子进程在发出 HTTP 请求时无提示崩溃

    我在组合多处理 请求 或 urllib2 和 nltk 时遇到问题 这是一个非常简单的代码 gt gt gt from multiprocessing import Process gt gt gt import requests gt g
  • Flask 从线程中删除会话变量

    我尝试实施投票系统 它的工作原理是这样的 如果用户对帖子进行投票 我会在会话变量中记录其临时状态 已投票 已加星标等 如果当前用户在我将结果保存到临时表之前尚未投票 用户可以在 5 分钟内更改投票 5 分钟后 结果将使用线程永久写入数据库
  • 显示进度的脚本?

    当我的 python 脚本处理大文件时 我想向用户显示进度 我见过脚本印刷 在 shell 中的同一光标位置显示进度 我怎样才能在Python中做到这一点 你应该使用python 进度条 http code google com p pyt
  • “from-import”是否执行整个模块?

    好的 所以我知道from import与 完全 相同import 但这显然不是因为命名空间的填充方式不同 我的问题主要是因为我有一个utils我的应用程序中的每个其他模块都使用一个或两个函数的模块 我正在努力合并标准库logging模块 据
  • Pandas 如何删除包含所需字符串的行

    我想删除包含所需字符串的所有行 假设我有以下数据框 A B C 1 a x w g n 3 l p j p v 我想删除包含字符串的所有行p 我已经搜索过它 但大多数答案都是基于列名称 就我而言 我不会知道它可以出现在任何列中 输出数据帧应

随机推荐

  • 未弃用的 findPreference() 方法? - 安卓

    我想检测何时Preference包含在一个ListView被点击 这样我就可以启动一个意图来管理该选择 我会在我的布局中这样做XML file
  • Redux 状态 - 最大推荐大小

    我正在构建一个项目管理应用程序 但我仍然在努力解决一个问题 在 Redux 状态中存储什么以及 按需 加载什么 Redux 状态是否有已知的 最大推荐大小 几十千字节 几百千字节 兆字节单位 请记住 归根结底 Redux 只是 如何 将信息
  • Bootstrap中.row类的负左右边距

    只是出于好奇 为什么 bootstrap 使用 15px左和右margins 将取消15px左和右padding on container and container fluid类 为什么要设置内边距 然后在子项上使用负边距取消它 行上的负
  • 如何对文件进行加密和解密?

    I use CipherOutputStream在java中对文件进行加密和解密 但是输入文件 gt 117字节无法加密 我使用RSA算法公钥长度1024字节 cipher init Cipher ENCRYPT MODE secKey S
  • 如何在 WiX 中启动 PowerShell 并正确访问 Windows 注册表?

    Update 有趣的是 如果我运行 32 位 powershell 来运行脚本 它会给我同样的错误 看起来32位powershell无法访问64位注册表树 我尝试使用WixQuietExec64但它给出了同样的错误 我还尝试提供 power
  • Javascript 中的 OADate 到毫秒时间戳

    我尝试做与以下完全相反的事情 JavaScript 中 DateTime ToOADate 的等效项是什么 https stackoverflow com questions 7348805 what is equivalent of da
  • C 中带有指针的 For 循环

    我不明白指针在其中的作用for loop 什么是 p在下面的循环中做什么 char str 128 Some Text char p for p str p what does this mean p Code 其余的我都明白 但为什么不明
  • 如何在 PHP 中比较两个数组并列出差异?

    我正在构建一个表单来执行以下操作 打印从 MySQL 获取的用户和权限表 用户拥有的每一项权限都是一个复选框 而他们缺少的每一项权限都是一个未选中的复选框 允许管理员选中和取消选中复选框以授予或删除权限 提交表单后 显示一个确认页面 其中仅
  • 我可以依赖 ES6 `Symbol` 的字符串表示形式吗?

    我正在开发一个 ES6 应用程序 它通过网络发送一些数据 其中一部分涉及作为 ES6 实现的标识符Symbols 例如 const FOO Symbol foo Calling Foo toString yields Symbol foo
  • 如何正确使用fork、exec、wait

    我正在编写的 shell 需要执行用户提供给它的程序 这是我的程序的非常简短的简化版本 int main pid t pid getpid this is the parents pid char user input NULL size
  • 任何使用 hibernate 、 DI 、 AOP 的 spring MVC 示例应用程序 [重复]

    这个问题在这里已经有答案了 可能的重复 Spring MVC 示例 Web 应用程序 https stackoverflow com questions 777946 spring mvc sample web app 我为 spring
  • java.lang.IllegalStateException(onSaveInstanceState后无法执行此操作)

    我在不同的情况下收到此错误并显示以下消息 活动已被破坏并且 onSaveInstanceState 之后无法执行此操作 我正在编写一个应用程序 其中两个 Activity 相互交互 活动 A launch 活动 B使用意图 这活动 B班级有
  • 检查对象是否更改的最佳实践是什么?

    我需要知道如何检查对象是否发生更改 基本上我需要一个名为 TrackChanges 的属性 当我将其设置为 true 一次并且如果该对象中的任何数据被 更改 时 同一对象上的方法 IsObjectChanged 可以返回 true 您是否曾
  • 如何从文件中读取两行并在 for 循环中创建动态键,后续

    这个问题紧接着所讨论的问题 如何从文件中读取两行并在 for 循环中创建动态键 https stackoverflow com q 41929351 868546 但是 问题的本质已经发展到我想要解决的某种复杂性 下面是我的数据结构 用空格
  • 如何在Go中将字节数组转换为字符串[重复]

    这个问题在这里已经有答案了 byte字符串会引发错误 string byte n 也会引发错误 顺便说一下 例如 文件名的 sha1 值是字符串 它是否明确需要 utf 8 或任何其他编码集 谢谢 我用来转换的最简单方法byte to st
  • 如何通过 JNI 从 Android 中的信号处理函数调用 Java 函数

    我的目标是将信号从内核发送到在用户空间中运行的 Android 服务 收到此信号后 服务应该向内核发出 IOCTL 回调 通过 ioctl 调用从内核获取数据后 它必须显示给用户 为此 我从 Java 服务调用本机方法 该方法注册 siga
  • 你能用 C# 编写一个同样优雅的排列函数吗?

    我非常喜欢这个 6 行解决方案 并尝试在 C 中复制它 基本上 它会排列数组的元素 def permute xs pre if len xs 0 yield pre for i x in enumerate xs for y in perm
  • 如何导航到 Angular 7 中的锚点

    我已经在routingModule和所有路径中启用了anchorScrolling 但是当我单击链接时没有任何反应 nav bar component html div class sidenav a href class closeBtn
  • 在 CSHTML 页面中实现 switch 语句

    我正在尝试做一些不同的事情 我有一个包含 ID 的视图 根据 Id 的值 我想更改显示的标题 就像是 switch id case test h1 Test Site h1 case prod h1 Prod Site h1 break 我
  • 为每列指定不同的 float_format(科学记数法与小数精度)

    我有多个列 有些我想要科学记数法 其他的则需要特定级别的小数精度 Frequency n 0 0 0023 2 3 1 0 0420 4 5 2 0 5460 6 7 3 0 1230 8 9 频率可以有很小的数量级 所以我最终得到了十亿个