计算pandas dataframe的迭代应用函数

时间:2018-05-22 23:11:30

标签: python pandas

我正在寻找一种方法来计算我的数据库函数运行的次数。

我的代码看起来像这样

df = pd.read_csv("nodos_results3.csv")
df['URL_dashboard'] = df.apply(create_url, axis = 1)
df.to_csv('nodos_results4.csv', index = False)

我想计算“create_url”函数运行的次数。例如,如果我在C ++中,我只需要让函数接受另一个输入

create_url(database i_DB, int i_count)
{
//stuff I want done to database

i_count++;
}

但是我不确定如何使用pandas dataframe apply做相同的事情。

更新:对于在将来使用Google搜索时可能会发现此问题的任何人 - 我个人并未解决此问题。我被转移到另一个项目,并没有继续这个工作。对不起,我无法提供更多帮助。

1 个答案:

答案 0 :(得分:1)

apply为每一行执行一次该函数。因此,该函数执行df.shape[0]次。 更正:根据@ juanpa.arrivillaga,apply在第一行执行两次函数,正确答案为df.shape[0]+1

或者,创建一个全局变量(比如create_url_counter=0)并在函数体中递增它:

def create_url(...):
    global create_url_counter
    ...
    create_url_counter += 1

请注意,拥有全局变量通常是一个坏主意。