熊猫将函数应用于数据框中的数据框索引系列
问题描述:
我想创建一个使用数据框的列作为输入的函数。这部分输入将是一系列的。熊猫将函数应用于数据框中的数据框索引系列
因此,这将功能类似下面
def myFunc(input1, input2, s_input):
for s in s_input['c':'d'].index:
print s + str(s_input[s]) +str(input1)
for s in s_input['e':].index:
print s + str(s_input[s]) +str(input2)
s = pd.Series({'a':1,'b':4,'c':7,'d':11,'e':15,'f':22})
input1=' input1'
input2 =' input2'
myFunc(input1,input2,s)
c7 input1
d11 input1
e15 input2
f22 input2
我想如果你想申请的功能,逐行这里,在使用axis = 1
将其应用到数据帧像
df = pd.DataFrame({'a':[1,2,3],'b':[4,5,6],'c':[7,8,9],'d':[11,12,13], 'e':[11,23,33], 'f':[75,44,55]})
df.apply(lambda x: myFunc(df.a,df.b, df.loc[x.index,'c':]))
答
apply
:
df.apply(lambda x: myFunc(x.a, x.b, x.loc['c':]), axis=1)
# gets printed...
c71
d111
e114
f754
c82
d122
e235
f445
c93
d133
e336
f556
但是,您通常会雇用apply
返回值。目前,您的功能不会返回任何内容。
+0
我知道我很亲密。现在我想我明白拉姆达,不知道为什么我以前没有。 –
这里的问题究竟是什么? – Vaishali