在 pandas.DataFrame 的对角线上设置值

2023-11-24

我有一个 pandas 数据框,我想看到对角线为 0

import numpy
import pandas

df = pandas.DataFrame(numpy.random.rand(5,5))
df

Out[6]:
     0           1           2           3               4
0    0.536596    0.674319    0.032815    0.908086    0.215334
1    0.735022    0.954506    0.889162    0.711610    0.415118
2    0.119985    0.979056    0.901891    0.687829    0.947549
3    0.186921    0.899178    0.296294    0.521104    0.638924
4    0.354053    0.060022    0.275224    0.635054    0.075738
5 rows × 5 columns

现在我想将对角线设置为 0:

for i in range(len(df.index)):
    for j in range(len(df.columns)):
        if i==j:
            df.loc[i,j] = 0
df
Out[9]:
     0           1           2           3           4
0    0.000000    0.674319    0.032815    0.908086    0.215334
1    0.735022    0.000000    0.889162    0.711610    0.415118
2    0.119985    0.979056    0.000000    0.687829    0.947549
3    0.186921    0.899178    0.296294    0.000000    0.638924
4    0.354053    0.060022    0.275224    0.635054    0.000000
5 rows × 5 columns

但一定有比这更Pythonic的方式!?


In [21]: df.values[[np.arange(df.shape[0])]*2] = 0

In [22]: df
Out[22]: 
          0         1         2         3         4
0  0.000000  0.931374  0.604412  0.863842  0.280339
1  0.531528  0.000000  0.641094  0.204686  0.997020
2  0.137725  0.037867  0.000000  0.983432  0.458053
3  0.594542  0.943542  0.826738  0.000000  0.753240
4  0.357736  0.689262  0.014773  0.446046  0.000000

请注意,这仅在以下情况下才有效df行数与列数相同。另一种适用于任意形状的方法是使用np.fill_diagonal:

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

在 pandas.DataFrame 的对角线上设置值 的相关文章

  • 如何用 python 和 sympy 解决多元不等式?

    我对使用 python 和 Sympy 还很陌生 并且遇到了使用 sympy 解决多元不等式的问题 假设我的文件中有很多函数 如下所示 cst sqrt x 2 cst exp sqrt cst x 1 4 log log sqrt cst
  • 类属性在功能上依赖于其他类属性

    我正在尝试使用静态类属性来定义另一个静态类属性 我认为可以通过以下代码来实现 f lambda s s 1 class A foo foo bar f A foo 然而 这导致NameError name A is not defined
  • 如何将条目中的部分文本加粗并更改其背景颜色?

    我正在创建一个基于 Tkinter 的 GUI 它有一个 Entry 小部件 我想将其文本的一部分加粗并更改其背景颜色 但我不知道我该怎么做 如果我使用文本小部件 我可以只使用标签 但看起来它们不能与条目小部件一起使用 此代码使用文本小部件
  • python中函数变量的作用域

    假设我们有两个函数 def ftpConnect ftp FTP server ftp login ftp cwd path def getFileList ftpConnect files ftp nlst print files 如果我
  • 行为:如何从另一个文件导入步骤?

    我刚刚开始使用behave http pythonhosted org behave 一个Pythonic BDD框架 使用小黄瓜语法 http docs behat org guides 1 gherkin html 行为需要一个特征 例
  • 使用Python将图像转换为十六进制格式

    我的下面有一个jpg文件tmp folder upload path tmp resized test jpg 我一直在使用下面的代码 Method 1 with open upload path rb as image file enco
  • Python 中的这种赋值方式叫什么? a = b = 真

    我知道关于元组拆包 http docs python org tutorial datastructures html tuples and sequences但是当一行中有多个等号时 这个赋值被称为什么 阿拉a b True 它总是让我有
  • Python unicode 字符代码?

    有没有办法将 Unicode 字符 插入 Python 3 中的字符串 例如 gt gt gt import unicode gt gt gt string This is a full block s unicode charcode U
  • 使用 python 将文本发送到带有逗号分隔符的列

    如何使用分隔符 在 Excel 中将一列分成两列 并使用 python 命名标题 这是我的代码 import openpyxl w openpyxl load workbook DDdata xlsx active w active a a
  • Python int 太大,无法放入 SQLite

    我收到错误 OverflowError Python int 太大 无法转换为 SQLite INTEGER 来自以下代码块 该文件约25GB 因此必须分部分读取 length 6128765 Works on partitions of
  • FastText - 由于 C++ 扩展未能分配内存,无法加载 model.bin

    我正在尝试使用 FastText Python APIhttps pypi python org pypi fasttext https pypi python org pypi fasttext虽然 据我所知 此 API 无法加载较新的
  • 在 pip.conf 中指定多个可信主机

    这是我尝试在我的中设置的 etc pip conf global trusted host pypi org files pythonhosted org 但是 它无法正常工作 参考 https pip pypa io en stable
  • WindowsError:[错误 5] 访问被拒绝

    我一直在尝试终止一个进程 但我的所有选项都给出了 Windows 访问被拒绝错误 我通过以下方式打开进程 一个python脚本 test subprocess Popen sys executable testsc py 我想杀死那个进程
  • Plotly:如何避免巨大的 html 文件大小

    我有一个 3D 装箱模型 它使用绘图来绘制输出图 我注意到 绘制了 600 个项目 生成 html 文件需要很长时间 文件大小为 89M 这太疯狂了 我怀疑可能存在一些巨大的重复 或者是由单个项目的 add trace 方法引起的 阴谋 为
  • asyncio - 多次等待协程(周期性任务)

    我正在尝试为异步事件循环创建定期任务 如下所示 但是我收到 RuntimeError 无法重用已等待的协程 异常 显然 asyncio 不允许等待相同的可等待函数 如中讨论的这个错误线程 https bugs python org issu
  • 如何在单独的文件中使用 FastAPI Depends 作为端点/路由?

    我在单独的文件中定义了一个 Websocket 端点 例如 from starlette endpoints import WebSocketEndpoint from connection service import Connectio
  • 将 Scikit-Learn OneHotEncoder 与 Pandas DataFrame 结合使用

    我正在尝试使用 Scikit Learn 的 OneHotEncoder 将 Pandas DataFrame 中包含字符串的列替换为 one hot 编码的等效项 我的下面的代码不起作用 from sklearn preprocessin
  • PyQt 中的线程和信号问题

    我在 PyQt 中的线程之间进行通信时遇到一些问题 我使用信号在两个线程 发送者和监听者 之间进行通信 发送者发送消息 期望被监听者接收 但是 没有收到任何消息 谁能建议可能出了什么问题 我确信这一定很简单 但我已经环顾了几个小时但没有发现
  • 如何使用 Django (Python) 登录表单?

    我在 Django 中构建了一个登录表单 现在我遇到了路由问题 当我选择登录按钮时 表单不会发送正确的遮阳篷 我认为前端的表单无法从 查看 py 文件 所以它不会发送任何 awnser 并且登录过程无法工作 该表单是一个简单的静态 html
  • 使用 numpy 加速 for 循环

    下一个 for 循环如何使用 numpy 获得加速 我想这里可以使用一些奇特的索引技巧 但我不知道是哪一个 这里可以使用 einsum 吗 a 0 for i in range len b a numpy mean C d e f b i

随机推荐

  • C# Excel Interop 循环单元格时速度缓慢

    我正在尝试使用 C 从 Excel 文档中提取所有文本数据 但遇到性能问题 在下面的代码中 我打开工作簿 循环遍历所有工作表 循环遍历所使用范围中的所有单元格 同时从每个单元格中提取文本 问题是 这需要 14 秒才能执行 public cl
  • 是否可以在 Visual Studio 2010 中停止 .sql 文件的智能感知?

    我正在使用 Visual Studio 2010 在扩展名为 sql 的文件中编辑 MySQL 数据库的 DDL IDE 坚持在完全合法的 MySQL 语法下提供红色曲线 大概是因为它不是合法的 SQL Server 语法 是否可以禁用 S
  • 如何确定我的一项活动是否在前台[重复]

    这个问题在这里已经有答案了 我已经实现了一个由 AlarmManager 触发的 BroadcastReceiver AlarmManager 在 BOOT COMPLETED 时初始化 所以我必须在清单中声明接收者 我的问题是 我希望 B
  • Android - 具有自定义属性的自定义 UI

    我知道可以创建自定义 UI 元素 通过视图或特定 UI 元素扩展 但是是否可以为新创建的 UI 元素定义新的属性或属性 我的意思不是继承 而是全新定义一些我无法使用默认属性或属性处理的特定行为 例如元素我的自定义元素
  • Objective-c,如何从另一个类访问实例变量

    我习惯于用Java编程并使用类变量来访问其他类的数据 然后我发现类变量在 Obj C 中的工作方式不同 并且存在问题 我的问题是 我想在用户登录后在另一个类中访问用户输入的密码 已在不同的论坛中阅读过 因此我应该使用类方法 来访问这些数据
  • 如何检测选择器是否返回 null?

    检测 jQuery 选择器是否返回空对象的最佳方法是什么 如果你这样做 alert notAnElement 你得到 object Object 所以我现在的做法是 alert notAnElement get 0 这将写 未定义 因此您可
  • 无法在 Flask-sqlalchemy 中创建自引用外键

    我有一个模型Region和每个Region可以有子区域 每个子区域都有一个字段parent id这是其父区 域的 id 这是我的模型的样子 class Region db Model tablename regions table args
  • 当 URL 参数更改时,React 路由器 6 永远不会卸载组件

    我们的 React Router v6 遇到了问题 当URL参数改变时 它已经在使用挂载组件了 切勿拆卸和安装该组件 生成的代码示例 如果在链接 1 和链接 2 之间切换 url 参数 id 更改 则链接组件永远不会卸载和安装 https
  • 在 Go 中计算文件的硬链接

    根据FileInfo 的手册页 以下信息可用时stat 在 Go 中创建一个文件 type FileInfo interface Name string base name of the file Size int64 length in
  • Azure AD:访问令牌中缺少角色声明

    对于我的应用程序 我希望用户能够使用其 Azure 帐户登录 单点登录 我还需要一个访问令牌来访问安全后端 所以我可以同时得到id token和access token 向此 url 发出请求 https login microsofton
  • 通过移动通过散点绘制的点来对 python pyplot 进行动画处理

    我在用 Python 制作动画时遇到了麻烦 我的问题是制作沿着特定轨迹移动的 3D 点的动画 我可以通过使用动画模块并在绘图的每一帧重新制作来做到这一点 请参阅我的脚本中的第一个选项 我想只移动每帧的点位置 而不重新制作所有轴 请参阅我的脚
  • JPA 2.0(日志记录和跟踪)与 Glassfish 3.0.1 和 NetBeans 6.9.1:

    我在用JPA 2 0 EclipseLink提供者 与Glassfish v3 0 1 and NetBeans 6 9 1我无法看到 JPA 2 0 中的查询和其他日志记录信息 本质上我希望能够看到 JPA 生成的所有 SQL 语句以及其
  • 如何从打字稿中的静态函数访问非静态属性

    我在嘲笑User并且需要实现静态方法findOne这是静态的 所以我不需要扩展User在我的调用类中 export class User implements IUser constructor public name string pub
  • nginx 和 php 拒绝访问

    使用 nginx Web 服务器和 php nginx 正在工作 我看到 欢迎使用 nginx 但当我尝试访问 php 页面时 我收到 访问被拒绝 的消息 我还安装了 php fastcgi 这是我的 nginx 默认配置 redirect
  • Chrome 使用 jQuery ajax 时删除表单元素

    我在操作的 JSON 响应中返回一些简单的 HTML 标记 这是完整的响应 为了可读性添加了换行符 Success true Content r n div class r n div
  • 在 python 中的迭代器/生成器中引发异常后继续

    Python 有没有办法在迭代器 生成器抛出异常后继续迭代 就像下面的代码一样 有没有办法跳过 ZeroDivisionError 并继续循环gener 不修改run 功能 def gener a 1 2 3 4 0 5 6 7 8 0 9
  • 如何从 intelliJ IDEA 中的资源文件夹访问图像,而无需提供完整路径名

    我该如何在intelliJ IDEA中做这样的事情 File file new File C Users Account Documents ProjectFolder ResourceFolder image 但不必输入整个文件路径 我很
  • C#:数字的通用接口

    我正在尝试执行一些独立于数字类型的通用数字操作 但是 我知道没有办法使用泛型来做到这一点 第一个想法是使用 where 语句过滤传入类型 但所有数字类型都是封闭的 因此对于通用过滤器无效 此外 泛型不允许标准数字运算 加法 移位等 因此我能
  • 如何将 Python 3 与 Google App Engine 本地开发服务器结合使用

    我有一个本地 Python 应用程序配置为 runtime python in it s app yaml文件 当启动本地开发服务器时 dev appserver py app yaml 一切皆好 由于GAE的本地开发服务器默认使用Pyth
  • 在 pandas.DataFrame 的对角线上设置值

    我有一个 pandas 数据框 我想看到对角线为 0 import numpy import pandas df pandas DataFrame numpy random rand 5 5 df Out 6 0 1 2 3 4 0 0 5