【问题标题】:How to set values of two columns in pandas如何在熊猫中设置两列的值
【发布时间】:2019-07-06 07:37:56
【问题描述】:

我有一个函数,它在 python 中返回一个包含两个元素的元组。我将使用这个函数在我的 pandas 数据框中创建两个新列。这是我现在的代码

df['A','B'] = df.apply(lambda x: my_fun (X['A'], x['B'], other_arguments)[0:2], axis=1)

my_fun 返回包含 5 个元素的元组,我将使用前两个元素来创建新列。 但是它只创建一列并将该列的值设置为my_fun 返回的元组。如何创建两列而不是一列?

【问题讨论】:

标签: python pandas


【解决方案1】:
df[['A','B']] = df.apply(lambda x: my_fun (X['A'], x['B'], other_arguments)[0:2], axis=1).apply(pd.Series)

【讨论】:

    【解决方案2】:

    试试

    df['A'], df['B'] = df.apply(lambda x: my_fun(x['A'], x['B'], other_arguments)[:2], axis=1)
    

    如果my_fun 返回一个包含 5 个元素的元组并且您只想保留前 2 个元素,则使用带有函数调用 [:2] 的切片

    【讨论】:

      猜你喜欢
      • 2019-03-04
      • 1970-01-01
      • 1970-01-01
      • 2015-02-02
      • 2021-03-04
      • 2019-02-21
      • 2021-10-10
      • 2017-05-03
      • 1970-01-01
      相关资源
      最近更新 更多