在python中创建函数并将其应用于数据帧

在python中创建函数并将其应用于数据帧,python,pandas,numpy,Python,Pandas,Numpy,创建和调用函数需要一些帮助 当前代码: Table1 = Table1.assign(Field3 = np.where(Table1.Field1.astype(str).str[0:5].isin(['CEQTY','LPCEQ']), Table1.Field2, 0)) 势函数 def func(a,b): Table1 = Table1.assign(a = np.where(Table1.Fi

创建和调用函数需要一些帮助

当前代码:

Table1 = Table1.assign(Field3 = np.where(Table1.Field1.astype(str).str[0:5].isin(['CEQTY','LPCEQ']),
                                         Table1.Field2, 0)) 
势函数

def func(a,b):
   Table1 = Table1.assign(a = np.where(Table1.Field1.astype(str).str[0:5].isin([b]),
                                       Table1.Field2, 0)) 
Table1.apply(func,a,b)?
调用函数

def func(a,b):
   Table1 = Table1.assign(a = np.where(Table1.Field1.astype(str).str[0:5].isin([b]),
                                       Table1.Field2, 0)) 
Table1.apply(func,a,b)?
我将这个过程重复了100次,唯一改变的是
'Field3'
isin中的参数。

创建函数时不断出现错误,可能是因为语法错误,因为您没有使用正确的语法调用
func

使用以下命令:

Table1.apply(func(a, b))
调用函数时,需要在提供的参数周围使用括号。

考虑替换,因为您不是对每一列或每一行运行独占操作,而是基于其他列(Field1和Field2)为新列运行条件逻辑。此外,采用一个不带引号的名称,该名称将不适用于传入的字符串

相反,运行一个简单的Python函数调用,按字符串分配列,然后返回一个新的df。下面用随机数据演示,为再现性设定种子,有条件地生成字段3-5:


谢谢,但是函数本身没有运行。你能说出定义函数的问题吗?