如何在Pandas中把一个函数应用于多个列
Pandas.apply允许用户传递一个函数并将其应用于Pandas系列的每一个值。
pandas.DataFrame.apply的语法
语法 : DataFrame.apply(parameters)
参数 :
- func :应用于每一列或每一行的函数。
- axis:应用该函数的axis
- raw : 决定行或列是作为系列还是ndarray对象传递。
- result_type : ‘expand’, ‘reduce’, ‘broadcast’, None; 默认 None
- args :除了数组/系列之外,要传递给func的位置参数。
- kwds : 额外的关键字参数,作为关键字参数传递给func。
返回:系列或数据框架
例1:Pandas将函数应用于单列
在这个例子中,我们只传递了一个单列,并且用2来递增年龄。
输出:
例子2 :Pandas将函数应用于多个列
在这里,我们使用Python串联法将一个函数应用于Pandas Dataframe的两列。
输出 :
例子3:Pandas对所有列应用函数
在这里,我们通过调用multiply_by_2函数将所有列都乘以2。
输出 :
例子4:使用Numpy对单列进行Pandas应用函数
在这个例子中,我们只将panda的apply函数应用于一个单列,即整数,并使用numpy.square将其变为平方。
例子5:Pandas使用lambda对所有列应用函数
在这个例子中,我们将panda的apply函数应用于所有列,并使用Python lambda将所有列与5相加。