Pet*_*ter 1 python max min pandas
如何从数据框中获取多列的一个最小值/最大值?我找不到获取这些值的简单方法,只能循环遍历列或多次转换数据帧。我认为必须有更好的方法来解决这个问题。
例如,这里有一些代码...
import pandas as pd
df = pd.DataFrame([[0,1,2,3],
[6,5,None,pd.NaT],
[8,None,9,None],
[None,12,7,14]], columns=list('ABCD'))
Run Code Online (Sandbox Code Playgroud)
...这是数据框的样子,我想要列“C”和“D”的最小值/最大值。
A B C D
0 0.0 1.0 2.0 3
1 6.0 5.0 NaN NaT
2 8.0 NaN 9.0 None
3 NaN 12.0 7.0 14
Run Code Online (Sandbox Code Playgroud)
有什么好的方法可以做到这一点?
附加说明:两列 ['C','D'] 的结果应该是 min (2) 的一个值和 max (14) 的一个值
您可以使用,
df[['C','D']].min().min()
2.0
Run Code Online (Sandbox Code Playgroud)
和
df[['C', 'D']].max().max()
14.0
Run Code Online (Sandbox Code Playgroud)
DataFrame.agg与按列表选择的列一起使用- ['C','D']:
df1 = df[['C','D']].agg(['min','max'])
print (df1)
C D
min 2.0 3
max 9.0 14
Run Code Online (Sandbox Code Playgroud)
编辑:对于 2 个标量,您可以使用:
s = df[['C','D']].stack()
print (s)
0 C 2
D 3
2 C 9
3 C 7
D 14
dtype: object
a = s.max()
print (a)
14
b = s.min()
print (b)
2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1130 次 |
| 最近记录: |