簡體   English   中英

如何為 X 的每個值獲得 Y 的最小值?

[英]How can I get min value of Y for each value of X?

我有兩個列表 X 和 Y。

X = [0.034, 0.026, 0.028, ...]
Y = [0.0099, 0.0065, 0.0061, ...]

我想為 X 的每個值獲得 Y 的最小值。我嘗試使用 groupby 方法。 我需要在邊境獲得積分。 在下圖中用黑色標出。 我有所有點的 X 和 Y 坐標。

您可以將groupbymin()

import pandas as pd

# two y values for 0.034 and 0.026

X = [0.034, 0.026, 0.028, 0.034, 0.026]
Y = [0.0099, 0.0065, 0.0061, 0.1, 0.000001]

df = pd.DataFrame({'x': X, 'y': Y})

       x         y
0  0.034  0.009900
1  0.026  0.006500
2  0.028  0.006100
3  0.034  0.100000
4  0.026  0.000001

df.groupby('x')['y'].min()

x
0.026    0.000001
0.028    0.006100
0.034    0.009900
Name: y, dtype: float64

當您處理浮點數時,您可能想要使用四舍五入的數字(例如 5 位數字)進行groupby

df.groupby(df['x'].round(5))['y'].min()

這將使用您提供的數據集提供 8018 個xy對。

這是 Python 中獲取最小值的一種方法.. 參見示例

list1, list2 = [123, 223, 154, 235], [456, 700, 200]
print "min value element : ", min(list1)
print "min value element : ", min(list2)

當我們運行上面的程序時,它會產生以下結果 -

min value element :  123
min value element :  200

上述答案中所述的 Pandas 解決方案:

df.groupby('x')['y'].min()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM