当前位置: 代码迷 >> python >> 如何在python pandas中定义可变数量的列适用
  详细解决方案

如何在python pandas中定义可变数量的列适用

热度:69   发布时间:2023-07-16 11:18:26.0

我正在尝试使用apply函数将列添加到python pandas df中。 但是,要添加的列数取决于apply函数中使用的函数的输出。

示例代码:

number_of_columns_to_be_added = 2    
def add_columns(number_of_columns_to_be_added):
         df['n1'],df['n2'] = zip(*df['input'].apply(lambda x : do_something(x, number_of_columns_to_be_added)))

关于如何在= zip( ...之前定义丑陋的列部分(df['n1'], ..., df['n696969'])任何想法= zip( ...编程的部分?

我猜测zip的输出是一个元组,所以你可以试试这个:

temp = zip(*df['input'].apply(lambda x : do_something(x, number_of_columns_to_be_added)))
for i, value in enumerate(temp, 1):
    key = 'n'+str(i)
    df[key] = value

temp将保存所有条目,然后iterate temp以使用您的特定键将值分配给您的dict。 希望这符合你原来的想法。