将函数应用于 pandas 数据框

2023-12-13

我正在尝试对以下内容执行一些文本分析pandas dataframe,但我在流程上遇到了一些问题。或者,也许我只是不明白...... PS - 我是一个Python初学者。

数据框示例:

df = pd.DataFrame({'Document' : ['a','1','a', '6','7','N'], 'Type' : ['7', 'E', 'Y', '6', 'C', '9']})


     Document   Type
0    a          7
1    1          E
2    a          Y
3    6          6
4    7          C
5    N          9

我正在尝试构建一个流程,如果“文档”或“类型”是数字或不是数字,则执行某些操作。

这是一个简单的函数,用于返回“文档”是否为数字(经过编辑以显示我如何在该字段上尝试一些 if/then 流程):

def fn(dfname):
    if dfname['Document'].apply(str.isdigit):
        dfname['Check'] = 'Y'
    else:
        dfname['Check'] = 'N'

Now, I apply它到数据框:

df.apply(fn(df), axis=0)

我得到这个错误:

TypeError: ("'NoneType' object is not callable", u'occurred at index Document')

从错误消息看来,我没有正确处理索引。谁能看到我哪里出错了?

最后 - 这可能与问题相关,也可能无关,但我真的很苦恼如何indexes工作于pandas。我认为我遇到的索引问题比任何其他问题都多。


你很接近了。

关于 apply 您必须意识到的一件事是您需要编写对标量值进行操作并返回您想要的结果的函数。考虑到这一点:

import pandas as pd

df = pd.DataFrame({'Document' : ['a','1','a', '6','7','N'], 'Type' : ['7', 'E', 'Y', '6', 'C', '9']})

def fn(val):
    if str(val).isdigit():
        return 'Y'
    else:
        return 'N'

df['check'] = df['Document'].apply(fn)

给我:

  Document Type check
0        a    7     N
1        1    E     Y
2        a    Y     N
3        6    6     Y
4        7    C     Y
5        N    9     N

Edit:

只是想澄清一下,当使用apply在一系列上,您应该编写接受标量值的函数。使用时apply然而,在 DataFrame 上,函数应该接受完整列(当axis=0-- 默认值)或整行(当axis=1).

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

将函数应用于 pandas 数据框 的相关文章

  • Python - 比较同一字典中的值

    我有一本字典 d Trump MAGA FollowTheMoney Clinton dems Clinton Stein FollowTheMoney Atlanta 我想删除字符串列表中的重复字符串 该字符串是键的值 对于这个例子 期望
  • Gunicorn 工作人员无论如何都会超时

    我正在尝试通过gunicorn运行一个简单的烧瓶应用程序 但是无论我做什么 我的工作人员都会超时 无论是否有针对应用程序的活动 工作人员在我设置任何内容后总是会超时timeout值到 是什么导致它们超时 当我发出请求时 请求成功通过 但工作
  • 多输出堆叠回归器

    一次性问题 我正在尝试构建一个多输入堆叠回归器 添加到 sklearn 0 22 据我了解 我必须结合StackingRegressor and MultiOutputRegressor 经过多次尝试 这似乎是正确的顺序 import nu
  • NLTK 2.0分类器批量分类器方法

    当我运行此代码时 它会抛出一个错误 我认为这是由于 NLTK 3 0 中不存在batch classify 方法 我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题 def accuracy classifier gold resu
  • 使用主题交换运行多个 Celery 任务

    我正在用 Celery 替换一些自制代码 但很难复制当前的行为 我期望的行为如下 创建新用户时 应向tasks与交换user created路由键 该消息应该触发两个 Celery 任务 即send user activate email
  • 从Django中具有外键关系的两个表中检索数据? [复制]

    这个问题在这里已经有答案了 This is my models py file from django db import models class Author models Model first name models CharFie
  • python multiprocessing 设置生成进程等待

    是否可以生成一些进程并将生成进程设置为等待生成的进程完成 下面是我用过的一个例子 import multiprocessing import time import sys def daemon p multiprocessing curr
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • MongoEngine 查询具有以列表中指定的前缀开头的属性的对象的列表

    我需要在 Mongo 数据库中查询具有以列表中任何前缀开头的特定属性的元素 现在我有一段这样的代码 query mymodel terms term in query terms 并且这会匹配在列表 term 上有一个项目的对象 该列表中的
  • GUI(输入和输出矩阵)?

    我需要创建一个 GUI 将数据输入到矩阵或表格中并读取此表单数据 完美的解决方案是限制输入表单仅允许float 例如 A 1 02 0 25 0 30 0 515 0 41 1 13 0 15 1 555 0 25 0 14 1 21 2
  • 打印包含字符串和其他 2 个变量的变量

    var a 8 var b 3 var c hello my name is var a and var b bye print var c 当我运行程序时 var c 会像这样打印出来 hello my name is 8 and 3 b
  • 未知错误:Chrome 无法启动:异常退出

    当我使用 chromedriver 对 Selenium 运行测试时 出现此错误 selenium common exceptions WebDriverException Message unknown error Chrome fail
  • python的shutil.move()在linux上是原子的吗?

    我想知道python的shutil move在linux上是否是原子的 如果源文件和目标文件位于两个不同的分区上 行为是否不同 或者与它们存在于同一分区上时的行为相同吗 我更关心的是如果源文件和目标文件位于同一分区上 shutil move
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序
  • Firebase Firestore:获取文档的生成 ID (Python)

    我可以创建一个新文档 带有自动生成的 ID 并存储对其的引用 如下所示 my data key value doc ref db collection u campaigns add my data 我可以像这样访问数据本身 print d
  • 如何从pandas中的多列计算多列

    我正在尝试使用函数从 pandas 数据框中的多个列计算多个列 该函数采用三个参数 a b 和 c 并返回三个计算值 sum prod 和 quot 在我的 pandas 数据框中 我有三个列 a b 和 c 我想从中计算列 sum pro
  • 如何将 Django 中的权限添加到模型并使用 shell 进行测试

    我在模型中添加了 Meta 类并同步了数据库 然后在 shell 中创建了一个对象 它返回 false 所以我真的无法理解错误在哪里或者缺少什么是否在其他文件中可能存在某种配置 class Employer User Employer in
  • 等待子进程使用 os.system

    我用了很多os system在 for 循环内调用创建后台进程 如何等待所有后台进程结束 os wait告诉我没有子进程 ps 我使用的是Solaris 这是我的代码 usr bin python import subprocess imp
  • 将索引与值交换的最快方法

    考虑pd Series s s pd Series list abcdefghij list ABCDEFGHIJ s A a B b C c D d E e F f G g H h I i J j dtype object 交换索引和值并
  • 如何在Python脚本中从youtube-dl中提取文件大小?

    我是 python 编程新手 我想在下载之前提取视频 音频大小 任何 YouTube 视频 gt gt gt from youtube dl import YoutubeDL gt gt gt url https www youtube c

随机推荐

  • 在 Visual Studio 2017 上通过 Selenium 执行 Nunit 测试时,无法找到类型或命名空间名称“IWebDriver”错误

    我正在尝试使用 C 在 mac 上使用 selenium 创建一些测试用例 我使用的 IDE 是 Visual Studio 2017 我安装了以下软件包 selenium web 驱动程序 selenium 支持 selenium fir
  • 通过示例了解 java 中的移相器

    我正在尝试理解java中的Phaser 我写了一个例子 它被提前卡住等待其他各方到达 据我了解 phaser 用作可重用的线程同步 与不可重用的 CountdownLatch 不同 屏障和屏障操作 与用于共享状态的 Cyclicbarrie
  • Swift JSONEncoder 数字舍入

    与所有 IEEE 7540 系统一样 Swift 中的数字如下4 7被视为像这样的值4 7000000000000002 因此 这并不奇怪 swift Welcome to Apple Swift version 5 2 4 swiftla
  • 提高 numpy.dot (python) 的精度

    我正在尝试模拟某个物理系统 为了传播解决方案 我需要能够将描述系统每个部分的行列式 1 的矩阵相乘 下面的代码中 T variables 是一个二维矩阵 det T 1 i仅表示区域编号 其余无关 当我为具有超过 30 个区域的系统运行此代
  • 使用搜索动态隐藏 div

    JSFiddle 到目前为止我所做的事情http jsfiddle net chQ2T 3 正如你所看到的 我有一些这样排列的div div div class box ABC div div class box CDE div div c
  • 在 Windows Phone 8 应用程序中下载并解压缩 zip 文件

    我正在开发一个 Windows Phone 8 应用程序 phonegap 它从我的服务器位置下载一个 zip 文件 我想在运行时在我的应用程序中解压缩该文件以使用存档中的文件 您可以使用第 3 方库来解压和提取 WP7 WP8 中的 ZI
  • SonarQube 分析读取超时

    我们之前讨论过这个问题 现已关闭SonarQube 用户邮件列表 通过优化Postgre DB 交换了半周左右解决了问题 然后问题又出现了 我们使用的是 Jenkins 1 612 使用 SonarQube Jenkins Plugin 2
  • 带有别名的动态命名空间类

    SO 我在使用命名空间动态创建对象时遇到问题 这是命名空间代码 namespace Foo class Bar 现在 我正在尝试创建类对象Bar with include namespace php sName Bar sClass Foo
  • 透明父级中的不透明子级

    我在 html 中有透明的 div 块 其中还有另一个子块 是否可以使子 div 不透明 我不相信 但你可以这样做 div div div div p I m fully opaque p div div 这种技术基本上是将一个 div 覆
  • Manage.py:错误:无法识别的参数:runserver 8000,Google Analytics API Django

    这是我的 Models py import argparse import os from django db import models from django db import models from django contrib a
  • 如何更改 Android 应用程序的包名称

    我的密钥库已损坏 因此 Android Market 要求我重命名该应用程序并重新提交 然而 每当我去编辑清单和整个文件中的包名称时 都会出现大量错误 更改应用程序名称的正确方法是什么 有一种方法可以在 Eclipse 中轻松更改包名称 右
  • 将对象(.o)文件添加到 qtcreator 项目

    如何在 QtCreator 中将第三方 o 和 h 文件添加到 Qt C 项目中 我想将一些来自 John The Ripper 的已编译 o 文件添加到我的项目中 忽略其非跨平台性 作为测试 a 编写了一个小型 C 程序 在 QtCrea
  • 使用 InCallService 替换 Android 6 和 7 上的默认电话应用程序

    添加了 Android API 级别 23InCallService to 提供用于管理电话呼叫的用户界面 该文档提供了一个清单注册示例 但我无法让它工作 该应用程序编译正常 但设置中的默认应用程序不显示我的应用程序 我找到有关该主题的唯一
  • ADODB 命令失败使用参数化 SQL 查询执行

    我有以下 JScript 代码 var conn new ActiveXObject ADODB Connection conn Open Driver MySQL ODBC 5 1 Driver Server localhost Data
  • 如何刷新缓存

    在 Apps 脚本中 我需要一种方法来刷新缓存 而不管密钥如何 或者 我需要一种方法来查找当前缓存的所有键 当我们缓存项目时 我们会根据许多动态属性创建密钥 因此我们无法确定缓存中某一时刻有哪些密钥 有没有办法在 AppsScript 中执
  • 使用 jQuery 突出显示表中的列

    我有一个表 我使用 jquery 突出显示表中的备用列 table Table22 tr td nth child even css background blue 不过我还有另一个 table 里面一个 tr 作为最后一行 如何避免突出显
  • 通过 DOM 解析器转换 PRE 标签之间的空格

    正则表达式是我最初的想法作为解决方案 尽管很快就发现 DOM 解析器会更合适 我想将空格转换为 nbsp HTML 文本字符串中的 PRE 标记之间 例如 table tr td adfa a adfadfaf gt td td br df
  • 在Javascript中将字符串中的奇数和偶数索引字符转换为大写/小写?

    我需要创建一个函数来读取字符串输入并将字符串中的奇数索引字符转换为大写字母 将偶数索引字符转换为小写字母 function alternativeCase string for var i 0 i lt string length i if
  • 使用SqlCommand,如何向其对象添加多个参数,通过winform插入sql表

    我的winform中有10个文本框 我需要将这些文本框中输入的文本保存到sql数据库表的10列中 所以 为此我应该写 INSERT INTO item c1 c2 c3 c10 values a b j cmd Parameters Add
  • 将函数应用于 pandas 数据框

    我正在尝试对以下内容执行一些文本分析pandas dataframe 但我在流程上遇到了一些问题 或者 也许我只是不明白 PS 我是一个Python初学者 数据框示例 df pd DataFrame Document a 1 a 6 7 N