python - 将函数应用于数据框并仅在 Python 中返回部分字典
问题描述
我有一个带有“isbn13”列的df。我还有一个名为“isbnlib.meta”的函数。这个函数来自库 isbnlib。我想在“isbn13”列的每一行上运行该函数。我正在使用 apply 函数来做到这一点。
df['publisher'] = df['isbn13'].apply(isbnlib.meta)
问题是每个 isbn13 的结果都是一个字典,其中包含不同的点,例如标题、作者、出版商等。我只是在字典中寻找要写在我的数据框中的“出版商”结果。
如何仅从函数的字典结果中返回数据框中的“Publisher”结果?
先感谢您。
解决方案
我想您isbnlib.meta()
会根据isbn13
列中的值返回一个字典。如果是这样,您可以在相同的情况下使用 lambda 函数apply
:
df['publisher'] = df['isbn13'].apply(lambda x: isbnlib.meta(x).get('Publisher', None))
在这种情况下,如果您dict
没有Publisher
密钥,它将返回默认值None
。
推荐阅读
- python - 如何在填充缺失日期的同时反向融化分类变量列?熊猫
- node.js - 为什么当余数 4.677 减去 0.001 结果是 4.67599?
- ios - 从另一个没有情节提要的类或方法访问 TextField
- android - 如何从我的证书中受益以进行更新
- c++ - QWidget closeEvent(...) 没有被 QProcess::terminate() 调用
- syntax - ocaml:多个参数函数的基本语法
- c# - c# 中的金雅拓第三方 dll 引用
- java - 如何从 Java 查询 LDAP 以从 Active Directory 的“netbiosDomain\samAccountName”获取对象的 DN
- java - 如何模拟 System.in?
- sails.js - 如何抑制 SailsJS/Waterline 中的所有日志记录消息?