在for循环中创建数据框的列

时间:2019-05-07 15:35:29

标签: python pandas dataframe series

我在熊猫问题上需要帮助:

我有一个函数返回一个熊猫系列结果,如下所示:

 date       number
2018-01-01     1
2018-02-01     2
2018-03-01     3
2018-04-01     3

然后在for循环中调用此函数。 for循环执行以下操作:

for i in range(len(category_list)):
    print(category_list[i])
    serie = filter_users_pageNS(data, new_index, category_list[i])
    serie = pd.DataFrame(serie).reset_index()

category_list只是要执行的迭代次数,其中包含要传递给filter_users_pageNS函数的参数。

我的意图是将在每次迭代中获得的number列附加到一个数据帧中,以便在for循环结束时,我得到以下数据帧:

date      number_iteration_1      number_iteration_2
2018-01-01       1                       4
2018-02-01       2                       1
2018-03-01       3                       5
2018-04-01       3                       2

如您所见,最后一个数据框将number列添加到数据框,名称为number_iteration_x

关于如何获得最终数据框的任何想法?

非常感谢您。

1 个答案:

答案 0 :(得分:0)

IIUC,应遵循以下原则:

df=df.reset_index()
for i in range(len(category_list)):
    print(category_list[i])
    serie = filter_users_pageNS(data, new_index, category_list[i])
    serie = pd.DataFrame(serie).reset_index()
    df['number_iteration_'+str(i)]=serie 

编辑:根据您的新数据调整答案