将函数应用于熊猫数据框

麦克布马西

我正在尝试对进行一些文本分析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

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

这是一个简单的函数,用于返回“文档”是否为数字(已编辑以显示我如何尝试某些“如果/然后在字段上流动”):

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

现在,我将apply其移至数据框:

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

我收到此错误:

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

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

最后-这可能与问题无关,但与的indexes工作方式有关,我确实很挣扎pandas我认为我遇到的索引问题比其他任何问题都要多。

保罗·H

你近了

关于应用,您必须意识到的是,您需要编写对标量值进行运算的函数并返回所需的结果。考虑到这一点:

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

编辑:

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将re函数应用于混合的熊猫数据框

来自分类Dev

将函数应用于数据框

来自分类Dev

将函数应用于熊猫数据框以创建更大的数据框

来自分类Dev

如何将Lambda函数正确应用于熊猫数据框列

来自分类Dev

使用其他行中的值将函数应用于熊猫数据框行

来自分类Dev

熊猫-将函数应用于具有来自不同列的多个参数的数据框

来自分类Dev

熊猫-将UTM功能应用于数据框列

来自分类Dev

将类似功能应用于多级熊猫数据框

来自分类Dev

将str.contains()应用于熊猫数据框

来自分类Dev

将功能应用于熊猫数据框的单列

来自分类Dev

将功能按行应用于熊猫数据框

来自分类Dev

将功能应用于熊猫数据框的列

来自分类Dev

熊猫数据框将功能应用于整个列

来自分类Dev

熊猫将multicolumnindex应用于数据框

来自分类Dev

按列将函数应用于Pandas数据框

来自分类Dev

将函数应用于参数更改的数据框

来自分类Dev

将ifelse函数应用于列表上的数据框

来自分类Dev

将函数应用于数据框r的子集

来自分类Dev

将函数应用于数据框的列的每个元素

来自分类Dev

将函数应用于数据框的列的每个元素

来自分类Dev

按列将函数应用于Pandas数据框

来自分类Dev

将函数应用于数据框的元素

来自分类Dev

将 lambda 函数应用于 Pandas 数据框

来自分类Dev

无法将函数应用于数据框

来自分类Dev

将函数应用于数据框列引发 scala

来自分类Dev

将sklearn函数应用于熊猫数据框可得到ValueError(“未知标签类型:%r”%y)

来自分类Dev

将NA应用于部分数据的熊猫数据框

来自分类Dev

将函数应用于数据框GroupBy对象并返回数据框

来自分类Dev

将自定义累积函数应用于熊猫数据框

Related 相关文章

热门标签

归档