在python中将字典转换为二进制

2024-01-10

我有一本字典,其中键作为我的客户 ID,值作为我的电影 ID。尽管客户已经多次观看同一部电影,但我希望将其制作为一部电影。 这里我需要将我的字典转换为二进制数据。 在所有行中,我需要客户 ID 和列作为电影 ID,如果客户看过电影,则给出 1,否则给出 0。

d = {'121212121' : 111, 222, 333, 333,444, 444, '212121212' : 222, 555, 555, 666, '212123322' : 555, 666, 666, 666, 777}

期望的输出:

customer ID 111 222 333 444 555 666 777
121212121   1   1   1   1   0   0   0
212121212   0   1   0   0   1   1   0
121323231   0   0   0   0   1   1   1

我尝试过使用 count vectorizer()

code :

cv = CountVectorizer()
movies = cv.fit_transform(cust['movies_list'])
cols = cv.vocabulary_
movies_ = pd.DataFrame(movies.toarray(), columns = cols, index = 
cust['customer_id'])
movies_

输出 :

customer ID 111 222 333 444 555 666 777
212121212   1   1   2   2   0   0   0
121212121   0   1   0   0   2   1   0
121323231   0   0   0   0   1   3   1

客户 ID 不匹配,我统计了他看了这部电影的次数。


看起来你可以使用clip_upper将正值修剪为 1。

movies_.clip_upper(1)

           111  222  333  444  555  666  777
121212121    1    1    1    1    0    0    0
212121212    0    1    0    0    1    1    0
212123322    0    0    0    0    1    1    1

这是一个替代解决方案,从d。您可以使用pd.get_dummies, 其次是clip_upper.

import pandas as pd
df = pd.concat([
          pd.Series(v, name=k).astype(str) for k, v in d.items()  # `d` is your dict
     ], 
     axis=1
)
pd.get_dummies(df.stack()).sum(level=1).clip_upper(1)

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

在python中将字典转换为二进制 的相关文章

  • Python 的键盘中断不会中止 Rust 函数 (PyO3)

    我有一个使用 PyO3 用 Rust 编写的 Python 库 它涉及一些昂贵的计算 单个函数调用最多需要 10 分钟 从 Python 调用时如何中止执行 Ctrl C 好像只有执行结束后才会处理 所以本质上没什么用 最小可重现示例 Ca
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 将数据从 python pandas 数据框导出或写入 MS Access 表

    我正在尝试将数据从 python pandas 数据框导出到现有的 MS Access 表 我想用已更新的数据替换 MS Access 表 在 python 中 我尝试使用 pandas to sql 但收到错误消息 我觉得很奇怪 使用 p
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • 如何使用 Ansible playbook 中的 service_facts 模块检查服务是否存在且未安装在服务器中?

    我用过service facts检查服务是否正在运行并启用 在某些服务器中 未安装特定的软件包 现在 我如何知道这个特定的软件包没有安装在该特定的服务器上service facts module 在 Ansible 剧本中 它显示以下错误
  • 绘制随时间变化的分类数据计数

    我有一个数据框 df 其中有一列包含分类数据 ETH 带有 DateTimeIndex 我想绘制类别counts随着时间的推移 它们按天索引 我最好按年绘制它们 df pd DataFrame County 0 Bexar 3 Nueces
  • SQLALchemy .query:类“Car”的未解析属性引用“query”

    我有一个这里已经提到的问题https youtrack jetbrains com issue PY 44557 https youtrack jetbrains com issue PY 44557 但我还没有找到解决方案 我使用 Pyt
  • 基于代理的模拟:性能问题:Python vs NetLogo & Repast

    我正在 Python 3 中复制一小段 Sugarscape 代理模拟模型 我发现我的代码的性能比 NetLogo 慢约 3 倍 这可能是我的代码的问题 还是Python的固有限制 显然 这只是代码的一个片段 但 Python 却花费了三分
  • OpenCV 无法从 MacBook Pro iSight 捕获

    几天后 我无法再从 opencv 应用程序内部打开我的 iSight 相机 cap cv2 VideoCapture 0 返回 并且cap isOpened 回报true 然而 cap grab 刚刚返回false 有任何想法吗 示例代码
  • 如何在Python中获取葡萄牙语字符?

    我正在研究葡萄牙语 角色看起来很奇怪 我怎样才能解决这个问题 代码 import feedparser import random Vou definir os feeds feeds conf feedurl http pplware s
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • 使用 Python 绘制 2D 核密度估计

    I would like to plot a 2D kernel density estimation I find the seaborn package very useful here However after searching
  • Python:如何将列表列表的元素转换为无向图?

    我有一个程序 可以检索 PubMed 出版物列表 并希望构建一个共同作者图 这意味着对于每篇文章 我想将每个作者 如果尚未存在 添加为顶点 并添加无向边 或增加每个合著者之间的权重 我设法编写了第一个程序 该程序检索每个出版物的作者列表 并
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from
  • 在 Qt 中自动调整标签文本大小 - 奇怪的行为

    在 Qt 中 我有一个复合小部件 它由排列在 QBoxLayouts 内的多个 QLabels 组成 当小部件调整大小时 我希望标签文本缩放以填充标签区域 并且我已经在 resizeEvent 中实现了文本大小的调整 这可行 但似乎发生了某
  • Rocket UniData/UniVerse:ODBC 无法分配足够的内存

    每当我尝试使用pyodbc连接到 Rocket UniData UniVerse 数据时我不断遇到错误 pyodbc Error 00000 00000 Rocket U2 U2ODBC 0302810 Unable to allocate
  • Python Selenium:如何在文本文件中打印网站上的值?

    我正在尝试编写一个脚本 该脚本将从 tulsaspca org 网站获取以下 6 个值并将其打印在 txt 文件中 最终输出应该是 905 4896 7105 23194 1004 42000 放置的动物 的 HTML span class
  • 如何使用 Pycharm 安装 tkinter? [复制]

    这个问题在这里已经有答案了 I used sudo apt get install python3 6 tk而且效果很好 如果我在终端中打开 python Tkinter 就可以工作 但我无法将其安装在我的 Pycharm 项目上 pip

随机推荐

  • MongoDB 中的查询

    我正在尝试使用rmongodb从 MongoDB 数据库获取信息以便在 R 中进一步处理 但是 我在真正开始时遇到了一些困难 这个有效 cursor lt mongo find mongo people query list last na
  • iOS 上的 Xamarin Forms 如何设置页面的屏幕方向?

    所以标题说明了一切 我现在对 iOS 很关心 我试图起诉我的基本页面 LandscapeContentPage 的自定义渲染器 这希望强制它呈现为横向 我没有成功 我尝试使用我发现的一个 hack 在 ViewDidAppear 中你提供了
  • 回形针 - 每个样式的默认样式?可能的

    我正在使用回形针 并且有多种样式 styles gt large gt 300x300 gt medium gt 150x150 gt small gt 50x50 gt thumb gt 30x30 gt 问题是default stype
  • Linux下自动调整进程优先级

    我正在尝试编写一个程序 根据配置文件 基本上是路径 优先级对 自动设置进程优先级 我认为最好的解决方案是用一个内核模块来替换 execve 系统调用 太糟糕了 系统调用表在内核版本 gt 2 6 0 中没有导出 因此如果没有系统调用表 就不
  • Crashlytics 记录错误

    我正在使用 iOS 版 Crashlytics 记录错误 NSDictionary detail message errorWithURL response jsonString Crashlytics sharedInstance rec
  • 如何通过代理/防火墙添加网络引用?

    我目前在工作中处于防火墙后面 我正在测试已部署到 我的网站的某些内容 并且工作代理似乎在某种程度上阻止了它 基本上我收到的消息是 由于对象的当前状态 操作无效 我已将其归结为我的代理干扰 但我看不到任何高级设置或任何可以设置为通过我的代理访
  • Python:解析 JSON 时出现 Keyerror

    我刚刚编写了一个程序来解析 api 中的一些数据 API 以 JSON 格式返回数据 当我尝试解析它时 它给了我一个关键错误 Traceback most recent call last File test py line 20 in
  • 避免 Python 中不必要的切片复制

    对于这样的情况 是否有一个常见的习惯用法可以避免无意义的切片复制 gt gt gt a bytearray b hello gt gt gt b bytearray b goodbye cruel world gt gt gt a exte
  • sql-左连接-计数

    假设我有两张桌子 文章和评论 当我从文章表中选择列时 我还想在同一个选择语句中选择文章的评论数 假设这两个表之间的公共字段是articleid 我怎么做 我可以完成它 但我不知道我的方法是否有效 所以我想学习正确的方法 这应该更有效 因为分
  • 如何在android中显示所有共享选项?

    我正在开发一个 Android 应用程序 想通过打开所有设备中可用的共享选项 但目前该列表显示电子邮件 蓝牙 Gmail 和消息传递 BBC 新闻等其他应用程序在同一设备中显示了更多选项 如 Bump Picasa 等 如何显示所有可用选项
  • 在java中读取JSON对象[重复]

    这个问题在这里已经有答案了 我们如何在 JSP Servlet 或任何其他 Java 程序中读取 JSON 对象 我建议使用Gson http code google com p google gson 为了这 它的优点是对泛型的支持非常好
  • 即使首字母丢失,Elasticsearch 也会提供拼写检查建议

    我创建一个这样的索引 curl location request PUT http 127 0 0 1 9200 test header Content Type application json data raw settings num
  • 编译 Qt 库以在 Visual Studio 2008 上运行,为什么 nmake 失败?

    我正在尝试让我的 Visual Studio Qt 插件正常工作 因此为了重新编译 Qt 库 我从 VS 命令提示符运行了以下命令 c Qtfolder gt configure platform win32 msvc2008 之后我运行
  • Apple TestFlight:“此版本不再可用于测试”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我一直在使用 TestFlight 进行内部 Beta 测试 一切都已设置完毕并且已经运行了一段时间 在提交的二进制文件之一被 AppSt
  • 在Python中使用有序字典作为对象字典

    我不知道为什么这不起作用 我正在使用odict http dev pocoo org hg sandbox raw file tip odict py班级来自PEP 372 http www python org dev peps pep
  • C# 加载二进制文件

    请告诉我最好 最快的方法 1 将非常小的二进制文件加载到内存中 例如图标 2 加载 读取大小为 512Mb 的非常大的二进制文件 3 当您不想考虑大小 速度而只需要做一件事时 您的常见选择 将所有字节读入内存 谢谢你 附 抱歉 也许是一个微
  • 检查JTA事务是否成功提交

    有没有办法检查当前事务是否在 JPA 实体侦听器中提交 如下所示 ApplicationScoped public class EntityListener Inject private Event
  • 如何从 JSON 回复中提取有意义的信息? [复制]

    这个问题在这里已经有答案了 回复 印度孟买 response version 0 1 termsofService http www wunderground com weather api d terms html features ge
  • ruby中通过ioctl获取essid

    为了避免依赖无线工具 我想使用 ioctl 直接从设备获取 essid 在 C 中这不会是问题 但在 Ruby 中则完全不同 问题在于以下结构无线 h用作 ioctl 的输入 回复 struct iw point void user poi
  • 在python中将字典转换为二进制

    我有一本字典 其中键作为我的客户 ID 值作为我的电影 ID 尽管客户已经多次观看同一部电影 但我希望将其制作为一部电影 这里我需要将我的字典转换为二进制数据 在所有行中 我需要客户 ID 和列作为电影 ID 如果客户看过电影 则给出 1