这可能不是在实际情况下安排数据的最佳方法,但它提供了一个很好的例子:
In [16]:
import operator
In [17]:
DF=pd.DataFrame({'Val1':[[2013, 37722.322],[1998, 32323.232]],
'Val2':[[2013, 37722.322],[1998, 32323.232]]})
In [18]:
print DF
Val1 Val2
0 [2013, 37722.322] [2013, 37722.322]
1 [1998, 32323.232] [1998, 32323.232]
[2 rows x 2 columns]
apply
方法返回错误结果
In [19]:
print DF.apply(operator.itemgetter(-1), axis=1)
Val1 Val2
0 2013 37722.322
1 1998 32323.232
[2 rows x 2 columns]
但是,
applymap
可以得到正确的结果!In [20]:
print DF.applymap(operator.itemgetter(-1))
Val1 Val2
0 37722.322 37722.322
1 32323.232 32323.232
[2 rows x 2 columns]
为什么会发生这种情况?
Val1
。现在我明白了,谢谢! - CT Zhu