如何自动多次调用函数?

时间:2016-04-28 14:24:46

标签: python-3.x pandas

我有一个dataframe,有许多产品A,B,C,D,......

我创建了一个函数,我可以从中收集所有产品的数据。

但在我的文件中我有很多产品(20),我必须为每种产品调用该功能。

我的功能是:

# function for prooduct A
function_product(["A"])

df_A_ = pd.DataFrame(file, columns = ['VAR1','VAR2'])

df_A = df_A_[1:]

df_A["Products"] = "A"

您知道如何自动执行此功能以便只调用一次代码而不是20次吗?

2 个答案:

答案 0 :(得分:1)

您可以使用循环,如下所示:

products = ["A", "B", "C", "D"]
for product in products:
    function_product([product])

以上脚本会针对function_product列表中列出的所有产品调用products方法。

答案 1 :(得分:0)

如果您没有创建产品清单:

list_products = products.split('|')
list_prices = prices.split('|')

然后,您可以创建包含数据框的列表:

import pandas as pd
list_df = []
for i in range(len(list_products)):
    list_df.append(pd.DataFrame({'product':[list_products[i]],'price':[list_prices[i]]}))

或者,如果您想创建一个包含所有价格和产品的数据框:

df = pd.DataFrame({'product':list_products,'price':list_prices})