使用 python/pandas 的字典理解与 str.contains 进行部分字符串匹配

2024-03-13

我有一个数据框,其中有一列名为course_names使用带有课程名称列表的映射字典,我希望在键中匹配我想要在值列中分配的值

import pandas as pd
df = pd.DataFrame({'course_name' : ['Phsyics, Maths','Algebra & Maths','History','Geology','Biology']})


mapping = {'Algebra & Maths' : 'Mathematics',
'Phsyics' : 'Science',
'History' : 'History',
'Geology' : 'Geology',
'Biology' : 'Science'} 
# this goes on for about another 35 lines. 

#my attempt so far.

df['keys'] = [k for k, v in mapping.items() if df['course_name'] in k]

当我运行这段代码时,我得到:

TypeError: 'in <string>' requires string as left operand, not Series

预期输出:

    course_name          key
0   Phsyics, Maths      Science
1  Algebra & Maths  Mathematics
2          History      History
3          Geology      Geology
4          Biology      Science

您有一个小语法错误。您还可以使用map

Try:

import pandas as pd
df = pd.DataFrame({"course_name" : ["Algebra & Maths", "Phsyics"]})
Mapping = {'Algebra & Maths' : 'Mathematics','Phsyics' : 'Science'}
df["keys"] = [v for k, v in Mapping.items() if k in df['course_name'].tolist()]
#df["keys"] = df["course_name"].map(Mapping)
print(df)

Output:

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

使用 python/pandas 的字典理解与 str.contains 进行部分字符串匹配 的相关文章

  • 配置 PIP 以在代理后面工作

    我已经安装了 python 3 4 3 附带pip 我想从代理后面使用 pip 所以我执行了以下操作 Created C Users foo pip pip ini并添加了代理配置部分 proxy export http proxy my
  • 如何向 pandas.DataFrame 的子类添加属性?

    我想向 DataFrame 的子类添加属性 但出现错误 gt gt gt import pandas as pd gt gt gt class Foo pd DataFrame def init self self bar None gt
  • 如何在anaconda python 3.6上安装tensorflow

    我使用 anaconda 包安装了新版本的 python 3 6 但是我无法安装张量流 总是收到这样的错误 tensorflow gpu 1 0 0rc2 cp35 cp35m win amd64 whl 在此平台上不受支持 如何在 ana
  • 让 Django 提供可下载文件

    我希望网站上的用户能够下载路径被遮挡的文件 因此无法直接下载它们 例如 我希望 URL 是这样的 http example com download f somefile txt 在服务器上 我知道所有可下载的文件都位于该文件夹中 home
  • Python 错误:将 statsmodels 与一行数据一起使用时,对象的 len() 未调整大小

    我可以使用 statsmodel 的 WLS 加权最小二乘回归 http statsmodels sourceforge net devel generated statsmodels regression linear model WLS
  • 打开文件路径在 python 中不起作用[重复]

    这个问题在这里已经有答案了 我正在编写一个数据库程序 personica 是我的测试主题 我通常在文件路径的位置有一个变量 但出于测试和演示的目的 我只有一个字符串 在我的计算机上的这个确切位置有一个文本文件 顺便说一句 因为我很偏执 所以
  • NLTK:包错误?朋克和泡菜?

    基本上 我不知道为什么会收到此错误 只是为了获得更多图像 这里有一个代码格式的类似消息 由于是最新的 该帖子的答案已经在消息中提到 Preprocessing raw texts LookupError Traceback most rec
  • 如何使用格式保存 Tkinter 文本小部件的内容

    我在 python 中使用 Tkinter 在文本窗口中显示输出 我发现使用 get 功能我可以从此窗口检索文本内容 但我有用不同背景颜色标记的文本部分 是否可以将内容与这些颜色一起复制到文件 例如 html 或 doc 中 没有对你想要的
  • ipython/jupyter 中的 tk 问题

    我正在尝试编写一个用于从 ipython jupyter 笔记本启动的 gui 但在笔记本中使用 tkinter 时遇到了麻烦 特别是在让 tk gui 窗口正常关闭方面 如何从 jupyter 制作 启动 tkinter gui 然后在不
  • 在Python中整齐地绘制PMF

    有没有一个库可以帮助我在 python 中整齐地绘制样本的概率质量函数 如下所示 通过matplotlib pyplot的stem模块 matplotlib pyplot stem args kwargs from matplotlib p
  • seaborn 箱线图的子图

    我有一个像这样的数据框 import seaborn as sns import pandas as pd pylab inline df pd DataFrame a one one two two one two one one one
  • 我可以在pycharm中的断点处进入交互模式吗

    我是一个相当新的 Pycharm 3 用户 正在从事 django 项目 我可以在 pycharm3 中的断点处进入交互模式吗 这可能吗 当程序在断点处停止时 我尝试过工具 gt 打开调试命令行 但我没有看到控制台打开 我怎样才能让它发挥作
  • 错误:tensorflow:无法匹配检查点的文件

    我正在训练一个张量流模型 在每个时期之后我都会保存模型状态并腌制一些数组 到目前为止 我的模型执行了 2 个纪元 并且保存状态的文件夹包含以下文件 checkpoint model e knihy preprocessed txt e0 c
  • Python 中的 Firebase 身份验证时出现 KeyError:“databaseURL”

    相信你做得很好 我是 firebase 的新手 正在尝试进行用户身份验证 我已经安装了pyrebase4并在firebase控制台上创建了一个项目 我还启用了使用 电子邮件和密码 登录并尝试连接我的应用程序 下面是我正在尝试的代码 impo
  • Django - 渲染到字符串无法加载 CSS

    我正在尝试使用 Django 1 8 render to string 通过管理命令将 html 转换为 pdf 而不是使用 View request 以下代码可以将模板转换为 pdf 但它无法将 CSS 加载到模板中 def html t
  • 如何单独捕获这些异常?

    我正在编写一个与 Quickbooks 交互的 Python 程序 连接到 Quickbooks 时 根据问题的不同 我可能会遇到以下两个常见异常之一 pywintypes com error 2147352567 Exception oc
  • 如何动态选择要在flask中使用的模板目录?

    默认情况下 Flask 使用存储在 template 目录中的模板文件 flaskapp application py templates hello html 有没有办法根据登录的用户动态选择模板目录 这就是我想要的目录结构 flaska
  • 如何通过异常值检测方法在周期性或基于序列的数据上生成脉冲作为异常值以进行实验?

    我想对一些时间序列数据进行一些实验KM https scikit learn org stable auto examples cluster plot cluster iris html sphx glr auto examples cl
  • 类unix系统中的python和python3命令有什么区别?

    我通读了每个命令的描述 但每个命令的描述都是完全相同的 所以我不明白这两个命令在类 Unix 系统中的工作方式有何不同 谁能解释其中的区别吗 Python3命令的引入是因为python命令指向了python2 从那时起 Python3 已成
  • 如何使用 PySpark 预处理图像?

    我有一个项目 需要为 1 设置大数据架构 AWS S3 SageMaker 的概念验证使用 PySpark 预处理图像 2 执行 PCA and 3 训练一些机器或深度学习模型 我的问题是了解如何使用 PySpark 操作图像数据 但无法在

随机推荐

  • SNMP:创建自定义 OID

    我需要自定义 OID 来监控我的一些软件状态 但我就是不明白 如何在Windows XP系统中创建自定义OID 如 1 3 6 1 4 1 30891 100 103 我需要其中一些人在那里写一些信息并在需要时阅读它 但我不知道如何在系统中
  • Java/LWJGL:OpenGL 中的 Z 轴表现得像左手坐标系

    最近 我寻求帮助 https stackoverflow com q 18836484 1530508关于 OpenGL 中的 3D 相机旋转 这个答案 https stackoverflow com a 18836618 1530508接
  • PyTorch:如何使用 DataLoaders 自定义数据集

    如何利用torch utils data Dataset and torch utils data DataLoader根据您自己的数据 不仅仅是torchvision datasets 有没有办法使用内置的DataLoaders他们使用的
  • 我可以使用 *.tlb 文件而不使用 Regasm 在计算机上注册它吗

    我们正在支持老化的 VB6 系统 我们已在 Net 中为其编写了新代码 将代码放入程序集中 然后导出 tlb 文件以与 VB6 代码库一起使用 我的问题是 在我希望运行代码的每台计算机上 我是否必须使用 Regasm 来注册类型库 我之所以
  • WCF 最大消息大小配额

    我正在尝试调用 WCF 服务 托管在 Windows 服务中 而不是 IIS 但收到以下错误 最大消息大小配额 传入消息已超出 对于远程通道 请参阅 服务器日志以获取更多详细信息 我尝试将 MaxReceivedMessageSize 和
  • 有序 logit R polr 的聚类标准误差 - 估计中删除的值

    我对 R 很陌生 并且习惯了非常基本的应用程序 现在我遇到了一个问题需要帮助 我正在寻找一种方法聚类标准误 for an 有序逻辑回归 my estimation is similar to this https stats idre uc
  • app.component.css 中的 CSS 样式未应用于选项卡正文内容

    你能告诉我为什么这里没有应用填充 即使我在 app component css 文件中将 padding top 设置为 20px 如果我在 styles css 文件中设置它 它将起作用 不知道为什么当我将 css 属性移动到 app c
  • 使用 Ramda 镜头更改对象中的值属性

    我想知道如何使用 Ramda 镜头更改对象属性 目前 我有一个深层状态 buckets blocks messages replies id 0 text text 0 value simple value 0 id 1 text text
  • 在 Spring 中获取 FileNotFoundException

    我想使用 BeanFactory 创建 bean 但出现异常 java io FileNotFoundException WEB INF businesscaliber servlet xml Resource res new FileSy
  • 将 Java 2d 图形图像保存为 .png 文件

    我正在绘制模拟生成的信息的图形表示 我显示了图表 但我遇到的问题是如何将其保存为 png 当它保存 png 时 文件是全黑的 所以它不是保存我的图形 而是创建一些空白 png 文件 问题是我很难弄清楚如何转换为 BufferedImage
  • TypeScript 中的 function 和 => 有什么区别? [复制]

    这个问题在这里已经有答案了 目前 我正在学习 TypeScript 我对关键字函数和 gt 粗箭头 之间的区别感到非常困惑 请看下面的代码 interface Counter start number interval number res
  • Qt BLE For Android:特性更新不会触发characteristicChanged信号

    这是我们拥有的设备传输自定义服务的自定义特征的定期更新的东西 该设备中的服务和特征是通过 XML 文件定义的 当然 这是指蓝牙BLE协议 我想做的是创建一个简单的 Qt Android 应用程序 连接到设备并监控更新 我已经发现了该服务并将
  • C++ Windows 线程池(非升压/c++11)

    有没有办法仅使用 C 或 Windows C 函数创建线程池 我无法访问 boost 或任何库 我可以访问代码项目 但找不到任何非 UNIX 的内容 并且我发现很难找到实现线程池的方法 我使用的是 VS2010 它还不支持 C 11 线程
  • Android JUnit 测试因 java.lang.VerifyError 失败

    Aloha 我一直遵循这里的指导方针 http developer android com resources tutorials testing helloandroid test html http developer android
  • 替换从 javascript 获取的字符

    我正在制作一个程序 从 flickr 集中提取所有图片 我在代码中发现每个图片链接都有一个大字符串 问题是这样的 链接具有以下格式 https c2 staticflickr com 4 3925 14562233192 3fe2b8fe1
  • 在具有多个参数的 pandas 数据帧上应用滚动函数

    我正在尝试在 pandas 数据帧上应用具有 3 年窗口的滚动函数 import pandas as pd Dummy data df pd DataFrame Product A A A A B B B B Year 2015 2016
  • NodeJs 程序完成后不退出

    抱歉这个菜鸟问题 我是 Javascript 初学者 我正在使用 NodeJs MySQL 包将我的节点应用程序连接到我的数据库 但是成功运行查询后 程序不会退出 它会永远留在那里 直到我手动终止它 我希望程序运行查询并退出程序 我正在使用
  • 在 READ COMMITTED 隔离级别中何时/什么锁被持有/释放

    我正在尝试了解 SQL Server 中的隔离 锁 我在 READ COMMITTED 隔离级别 默认 中有以下场景 我们有一张桌子 create table Transactions Tid int amt int with some r
  • 如何连接 AWS DynamoDB 中的表?

    我知道整个设计应该基于自然聚合 文档 但是 我正在考虑实现一个单独的本地化表 语言 键 文本 然后使用其他表中的键 但是 我找不到任何这样做的例子 您是对的 DynamoDB 并非设计为关系数据库 并且不支持联接操作 您可以将 Dynamo
  • 使用 python/pandas 的字典理解与 str.contains 进行部分字符串匹配

    我有一个数据框 其中有一列名为course names使用带有课程名称列表的映射字典 我希望在键中匹配我想要在值列中分配的值 import pandas as pd df pd DataFrame course name Phsyics M