繁体   English   中英

将函数应用于Pandas中的整个DataFrame

[英]Applying a function to an entire DataFrame in Pandas

可能是一个微不足道的问题,但是如何将一个函数应用于Pandas的整个“矩阵”? 在我看来,应用可以按行或逐列进行,但如果我想同时进行两种操作呢? 例如

>>> 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

这通常不是使用DataFrame的方式,因为列可能具有不同的类型。

但是,如果所有列都具有相同的类型,则将DataFrame转换为矩阵可能是明智的,例如

m = df.as_matrix() 

然后使用m ,例如

m.max()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM