带有不确定性包的python pandas dataframe最小值

富冈

我正在组合熊猫数据框和ufloat,如下所示。可以工作一段时间,现在,如果我想在ufloat列上使用nsmallest函数,就会遇到问题。这是错误消息:

TypeError:列“ x”具有dtype对象,无法对此dtype使用方法“ nsmallest”

也许在数据框中放一些东西不是最好的主意。是否有结合不确定性和数据帧的更好方法?还是可以轻松解决此问题?

import numpy as np
import pandas as pd
from uncertainties import unumpy as unp

x = unp.uarray([1, 2, 3], [0.11, 0.21, 0.3])
y = unp.uarray([5, 4, 3], [0.21, 0.08, 0.23])
bar = np.array([7.2, 5.1, 3.7])

df = pd.DataFrame({ 'x':x, 'y':y, 'bar':bar })
df["z"] = df["x"]**2 + 2*df["y"]
df["zz"] = 1/df["x"] + unp.sin(df["y"])

print df.nsmallest(1, "x")

编辑:所需的输出是完整数据帧(与print df.nsmallest(1,“ bar”)相似),仅用于具有最小unumpy.nominal_values(df [“ x”])的条目。在这种情况下,它与nlargest(1,“ bar”)相同,因此

   bar            x            y           z           zz
0  7.2  1.00+/-0.11  5.00+/-0.21  11.0+/-0.5  0.04+/-0.13
海滩

以下代码可能对您有帮助

import numpy as np
import pandas as pd
from uncertainties import unumpy as unp

x = unp.uarray([1, 2, 3], [0.11, 0.21, 0.3])
y = unp.uarray([5, 4, 3], [0.21, 0.08, 0.23])
bar = np.array([7.2, 5.1, 3.7])

df = pd.DataFrame({ 'x':x, 'y':y, 'bar':bar })
df["z"] = df["x"]**2 + 2*df["y"]
df["zz"] = 1/df["x"] + unp.sin(df["y"])

# print(df)

temp_smallest_nominal = df['x'].apply(lambda x : x.nominal_value).nsmallest(1)
temp_largest_nominal = df['x'].apply(lambda x : x.nominal_value).nlargest(1)
print(df.loc[df.index == temp_smallest_nominal.index[0]])
print(df.loc[df.index == temp_largest_nominal.index[0]])


temp_smallest_std_devs = df['x'].apply(lambda x : x.std_dev).nsmallest(1)
temp_largest_std_devs = df['x'].apply(lambda x : x.std_dev).nsmallest(1)
print(df.loc[df.index == temp_smallest_std_devs.index[0]])
print(df.loc[df.index == temp_largest_std_devs.index[0]])


temp_list_of_smallest = df['x'].apply(lambda x : x.nominal_value).nsmallest(2)
print(df.loc[df.index.isin(temp_list_of_smallest.index)])

temp_smallest_nominal用于过滤标称值最小的行

temp_smallest_std_devs用于过滤具有最小std_dev值的行

temp_list_of_smallest用于过滤最小值为'n'的行

对于最大值也是如此。

如果您要基于不同的过滤数据,也可以更改lambda函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

修改const值的“不确定性”机制

与标称值相对应的可变不确定性

如何在Pandas DataFrame中获得带有特定列的最小值的行?

在整个Pandas DataFrame中获取具有最小值的行和列

最小化测量误差时姿态估计的不确定性

如何在Frama-C + EVA中证明不确定性值的简单等式?

线性回归后获得预测值的不确定性

带有不确定性包的异常长的计算时间

Python / Pandas:计算1.最小值,2.最大值到最小值的左边,3.最大值,到最小值的右边

如何按局部最小值对 Pandas DataFrame 进行分组?

Python中的不确定性包:使用给定的协方差矩阵获取数据不确定性

如何四舍五入并将最小值和最大值应用于Pandas Dataframe中的所有值

在Python DataFrame中查找最小值列和最小值列名称

不确定性

返回数据框底部具有最大值/最小值的行(python / pandas)

Python Dataframe 处理两列列表并找到最小值

如何在Pandas DataFrame中获取nan / min值时的最大值/最小值

pandas DataFrame:列中相同符号的值相加的最大值和最小值

从Pandas Dataframe列返回最大值和最小值的实际索引值

获取最大值、最小值以及该最大值、最小值的各自所有者 - Pandas

在pandas数据框中选择具有最小值和最大值的行

具有最小值、最大值和总和的 Pandas 数据框 Groupby

在Python Pandas中查找ID的最小值,最大值和平均值

寻找最小值 pandas/python 未来行范围的特定列中的值

如何使用 python pandas 找到 ID 1 和 5 的最小值和最大值?

在Python Pandas中找到一列的最小值大于另一列的值

最小值,最大值和平均值作为新列Python Pandas

在 Python 中查找 Pandas 的每个单元格中的最大值/最小值

Python pandas:如何在符号更改时选择行并具有最小值?