은의이 최소한의 예를 살펴 보자 :예기치 않은 결과
In [208]:
L={'A':[[1,2]],
'B':[[3,4], [5,6]]}
df=pd.DataFrame.from_dict(dict(L), orient="index").stack().reset_index(level=0)
df['val']=None
print 'before apply. \n\n', df
f=lambda x: [x[0], x[1][0], x[1][1]]
print '\nafter apply. \n\n', df.apply(f, axis=1)
before apply.
level_0 0 val
0 A [1, 2] None
0 B [3, 4] None
1 B [5, 6] None
after apply.
level_0 0 val
0 [1, 2] 1 2
0 [3, 4] 3 4
1 [5, 6] 5 6
이상한를! lambda
기능은 각 행에 대해 list
을 반환하도록되어 : 나는 약 apply()
오해 뭔가
level_0 0 val
0 A 1 2
0 B 3 4
1 B 5 6
있습니까 : 1 행에 대해, 결과는 ['A', 1, 2]
은, 그러므로, apply()
의 예상 행동해야 할 것인가?
'이야기의 사기'는 최고 : – furas
좋은 지적. '0' 인덱스는 실제로'stack()'단계에서 나온 것이기 때문에 그 부분은 엉망입니다. 하지만 일부 이름을 변경하면 문제가 해결 될 것입니다. –