我有这个数据帧:
a b c
Utah 0.907184 0.000049 0.550308
NY 0.129423 1.606726 2.041340
DC 0.228202 1.041567 0.007727
Texas 0.947254 0.000211 0.346336
我想将此函数应用于我的数据帧:
func=lambda x: max(x)-min(x)
当我调用df.apply(func)
时,它将函数应用于每一列:
a 0.817831
b 1.606677
c 2.033613
dtype: float64
我想计算我的数据框(2.041340,NY)中的最大值减去最小值(0.000049,犹他州)并返回2.041291
我建议使用numpy
的"peak to peak"功能:
>>> df.values.ptp()
2.0412909999999997
如果您想要4x3结果,只需将其分配回原位:
df[:] = df.values.ptp()
df.values.max() - df.values.min()
计算数据框中最高和最低值之间的标量差异。
对于此数据框,这给出了输出:
2.0412909999999997