【发布时间】:2018-06-06 18:36:03
【问题描述】:
我有一个pandas 数据框,我想在其上使用应用函数来根据现有数据生成两个新列。我收到此错误:
ValueError: Wrong number of items passed 2, placement implies 1
import pandas as pd
import numpy as np
def myfunc1(row):
C = row['A'] + 10
D = row['A'] + 50
return [C, D]
df = pd.DataFrame(np.random.randint(0,10,size=(2, 2)), columns=list('AB'))
df['C', 'D'] = df.apply(myfunc1 ,axis=1)
开始 DF:
A B
0 6 1
1 8 4
所需的 DF:
A B C D
0 6 1 16 56
1 8 4 18 58
【问题讨论】:
-
让它
df[['C', 'D']] -
你的函数总是需要两列作为输入吗?
-
@coldspeed,传递的数据帧可能有很多列,但计算只需要两列
标签: python python-2.7 pandas