[英]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.