Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:在[X,Y]坐标中查找每个X值的平均Y值_Python_Numpy_Math - Fatal编程技术网

Python:在[X,Y]坐标中查找每个X值的平均Y值

Python:在[X,Y]坐标中查找每个X值的平均Y值,python,numpy,math,Python,Numpy,Math,假设我有一个x,y坐标的列表,如下所示: coordinate_list = [(4,6),(2,5),(0,4),(-2,-2),(0,2),(0,0),(8,8),(8,11),(8,14)] 我想找到与每个x值相关联的平均y值。例如,数据集中只有一个“2”x值,因此平均y值为“5”。但是,有三个8,平均y值为11[(8+11+14)/3] 最有效的方法是什么 您可以使用pandas coordinate_list = [(4,6),(2,5),(0,4),(-2,-2),(0,2),(0

假设我有一个x,y坐标的列表,如下所示:

coordinate_list = [(4,6),(2,5),(0,4),(-2,-2),(0,2),(0,0),(8,8),(8,11),(8,14)]
我想找到与每个x值相关联的平均y值。例如,数据集中只有一个“2”x值,因此平均y值为“5”。但是,有三个8,平均y值为11[(8+11+14)/3]


最有效的方法是什么

您可以使用
pandas

coordinate_list = [(4,6),(2,5),(0,4),(-2,-2),(0,2),(0,0),(8,8),(8,11),(8,14)]
import pandas as pd
df = pd.DataFrame(coordinate_list)
df
df.groupby([0]).mean()

您可以使用
pandas

coordinate_list = [(4,6),(2,5),(0,4),(-2,-2),(0,2),(0,0),(8,8),(8,11),(8,14)]
import pandas as pd
df = pd.DataFrame(coordinate_list)
df
df.groupby([0]).mean()
使用列表理解尝试统计模块中的mean()函数

from statistics import mean

x0_filter_value = 0   # can be any value of your choice for finding average
result = mean([x[1] for x in coordinate_list if x[0] == x0_filter_value])
print(result)
以及打印所有X[0]值的方法:

 for i in set([x[0] for x in coordinate_list]):
      print (i,mean([x[1] for x in coordinate_list if x[0] == i]))
使用列表理解尝试统计模块中的mean()函数

from statistics import mean

x0_filter_value = 0   # can be any value of your choice for finding average
result = mean([x[1] for x in coordinate_list if x[0] == x0_filter_value])
print(result)
以及打印所有X[0]值的方法:

 for i in set([x[0] for x in coordinate_list]):
      print (i,mean([x[1] for x in coordinate_list if x[0] == i]))

你试过什么?请分享一些尝试做你需要的事情的版本。之后,您可以担心它是最有效的;)你试过什么?请分享一些尝试做你需要的事情的版本。之后,您可以担心它是最有效的;)OP希望它返回所有x值在这种情况下,我建议@Kuldeep anwer使用熊猫模块。OP希望它返回所有x值在这种情况下,我建议@Kuldeep anwer使用熊猫模块。这很好。我不熟悉setdefault()方法。这很有效。我不熟悉setdefault()方法。