我知道我可以使用apply()
对 Dataframe 的每一行应用函数,如下所示:
import pandas as pd
df = pd.DataFrame({'Name' : ['A', 'B', 'C'], 'Number' : [1,2,3]})
def func(row):
pass
df.apply(lambda x: func(x), axis =1 )
但是我需要传递一个递增计数器给func()
。类似下面的内容,但是我不知道如何递增计数器!
import pandas as pd
df = pd.DataFrame({'Name' : ['A', 'B', 'C'], 'Number' : [1,2,3]})
def func(row, counter):
pass
counter = 0 #initial value
df.apply(lambda x: func(x, counter), axis =1 )
2条答案
按热度按时间i7uaboj41#
在Python中,functions are first class citizens,甚至是属于对象的functions are first class citizens,一种实现所需的方法如下:
注意,一级公民身份意味着你不需要创建lambda,你可以传递函数本身。
hec6srdp2#
使用全局变量