[英]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 坐標。
您可以將groupby
與min()
:
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.