Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 应用函数在数据帧上不起作用_Python_Pandas_Dataframe_Apply - Fatal编程技术网

Python 应用函数在数据帧上不起作用

Python 应用函数在数据帧上不起作用,python,pandas,dataframe,apply,Python,Pandas,Dataframe,Apply,我想使用regex从Pnadas数据帧检索名称,但pandapply函数不适用于数据帧对象。它在熊猫系列物体上工作得很好。请给我解释一下 import pandas as pd import re doc = pd.DataFrame(['William Hartnell (1963-66)', 'Patrick Troughton (1966-69)', 'Jon Pertwee (1970 74)', 'Tom Baker (1974-81)', 'Peter Davison (1982-8

我想使用regex从Pnadas数据帧检索名称,但pandapply函数不适用于数据帧对象。它在熊猫系列物体上工作得很好。请给我解释一下

import pandas as pd
import re
doc = pd.DataFrame(['William Hartnell (1963-66)',
'Patrick Troughton (1966-69)',
'Jon Pertwee (1970 74)',
'Tom Baker (1974-81)',
'Peter Davison (1982-84)'])

p = re.compile('\w+\s+\w+')

def get_name(s):
    return p.match(s).group()

nam = docs.apply(get_name) # gives me an error

nam = doc[0].apply(get_name) # works fine

为什么我的函数不能应用于dataframe?感谢您的帮助。

使用应用函数时,它会迭代指定区域中的所有值

此代码将整个dataframe行传递到函数中,p.match无法使用该函数

doc.apply(get_name) #Note that you should also put axis=1
但是,此代码只传递包含名称的列,因此p.match可以成功使用它

doc[0].apply(get_name)

使用apply函数时,它会迭代指定区域中的所有值

此代码将整个dataframe行传递到函数中,p.match无法使用该函数

doc.apply(get_name) #Note that you should also put axis=1
但是,此代码只传递包含名称的列,因此p.match可以成功使用它

doc[0].apply(get_name)

错误是什么?TypeError:预期的字符串或类似字节的对象错误是什么?TypeError:预期的字符串或类似字节的对象