如何解决从python中的列表中提取数据
我有以下列表:
[N 12.000000
mean 2.011608
median 2.021611
std 0.572034
relative std 0.284350
dtype: float64,N 12.000000
mean 2.011608
median 2.021611
std 0.571815
relative std 0.284262
dtype: float64,N 12.000000
mean 2.011608
median 2.021611
std 0.572101
relative std 0.284412
dtype: float64,N 12.000000
mean 2.011608
median 2.021611
std 0.572115
relative std 0.284440
dtype: float64,N 12.000000
mean 2.011608
median 2.021611
std 0.571872
relative std 0.284313
dtype: float64]
我想从具有最小相对标准值的列表中提取数据(N、均值、标准差、相对标准差)。上述列表的输出应如下所示:
N 12.000000
mean 2.011608
median 2.021611
std 0.571815
relative std 0.284262
dtype: float64
到目前为止我尝试了什么?
min(list)
但是抛出以下错误ValueError: The truth value of a Series is ambiguous. Use a.empty,a.bool(),a.item(),a.any() or a.all().
解决方法
使用 min
和 lambda 函数通过标签 Series
选择 std
的值:
s1 = pd.Series([0,1,2],index=['std','min','max'])
s2 = pd.Series([4,'max'])
s3 = pd.Series([0.8,'max'])
L = [s1,s2,s3]
s = min(L,key=lambda x:x.loc['std'])
print (s)
std 0
min 1
max 2
dtype: int64
为了测试所有的最小值:
print ([x.loc['std'] for x in L])
[0,4,0.8]
对于索引使用 np.argmin
:
import numpy as np
print (np.argmin([x.loc['std'] for x in L]))
0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。