可能是一个微不足道的问题,但是如何将一个函数应用于Pandas的整个“矩阵”?在我看来,应用可以按行或逐列进行,但如果我想同时进行两种操作呢? E.g。
>>> df = pd.DataFrame({"A": [10,20,30], "B": [20, 30, 10]})
>>> df
A B
0 10 20
1 20 40
2 30 10
>>> df.apply(max)
40
使用一些预定义的最大功能。非常感谢提前
编辑: 道歉,我原本的问题应该更清楚了。我实际上并不想计算DataFrame max,而只是作为一个例子。也许是一个更好的例子,是一个函数,它在两列上取最后两行的最大值,即
>>> df = pd.DataFrame({"A": [10,20,30], "B": [20, 30, 10]})
>>> df
A B
0 10 20
1 20 40
2 30 10
3 50 20
>>> df.apply(max)
0 n/a
1 40
2 40
3 50
答案 0 :(得分:0)
这通常不是DataFrame的使用方式,因为列可能有不同的类型。
但是,如果所有列都具有相同的类型,则将DataFrame转换为矩阵可能是明智的,例如
m = df.as_matrix()
然后使用m
,例如
m.max()