【发布时间】:2019-10-16 07:02:32
【问题描述】:
我有一个数据框进入 for 循环。在每个循环中,都会向数据框中添加一个新列。列数未知。在这种情况下如何使列命名自动进行,这样每次程序添加一个新列时,该列都会获得一个唯一的名称,如下所示:
x xx xxx xxxx xxxxx
1 12 14
2 24 26
3 64 66
我尝试了cumcount() 和add_prefix(),但没有成功。有什么建议么?
【问题讨论】:
我有一个数据框进入 for 循环。在每个循环中,都会向数据框中添加一个新列。列数未知。在这种情况下如何使列命名自动进行,这样每次程序添加一个新列时,该列都会获得一个唯一的名称,如下所示:
x xx xxx xxxx xxxxx
1 12 14
2 24 26
3 64 66
我尝试了cumcount() 和add_prefix(),但没有成功。有什么建议么?
【问题讨论】:
您可以尝试将计数器变量添加到循环中,并根据计数器变量命名新列。您可以在每次循环执行时将计数器变量增加某个常数值,以便添加的每个新列在循环的每次迭代中都有一个唯一的名称。像这样(假设“df”是数据框的名称):
i = 0
for j in #range of loop:
df[i] = #new column
i += 1
这将为添加的新列提供数字名称(如 0、1、2、3.... 等),您还可以识别在哪个迭代中添加了哪一列。
【讨论】:
df[i] = # new things代替df['text_you_waint_{}'.format(i)] = #new things