2017-04-03 47 views
-1

我想查找python中使用數據框的唯一值的平均值。 例如,我有一個數據集爲:如何查找python中的獨特行的平均值

[c1] [c2] 
foo 3.2 
bar 4.3 
foo 3.0 
foo 2.3 
bar 4.5 
foo 1.9 
bar 4.4 

我想要的輸出爲:

富= 4和Foo的平均計數爲2.6 //(即,(3.2 + 3.0 + 2.3 + 1.9)/ 4))條= 3和巴的平均的

計數爲4.4 //(即,(4.3 + 4.5 + 4.4)/ 3))

+0

它看起來像你希望我們爲你寫一些代碼。儘管許多用戶願意爲遇險的編碼人員編寫代碼,但他們通常只在海報已嘗試自行解決問題時才提供幫助。展示這一努力的一個好方法是包含迄今爲止編寫的代碼(形成[mcve]),示例輸入(如果有的話),期望的輸出和實際獲得的輸出(輸出,回溯,等等。)。您提供的細節越多,您可能會收到的答案就越多。檢查[旅遊]和[問]。 – TigerhawkT3

回答

0

假設你存儲在一個列表中的值稱爲data_averages:

import numpy as np # numpy module 

# Your data_averages list that contains average 

foo_list=[] 
bar_list=[] 

for i in range(len(data_averages)): 
    if data_averages[i] == 'foo': 
     foo_list.append(data_averages[i][1]) 
    else: 
     bar_list.append(data_averages[i][1]) 

foo_avg = np.average(foo_list) 
bar_list= np.average(bar_list) 

print('Foo: ', foo_avg) 
print('Bar: ', bar_avg) 

基本上,您的腳本檢查列表的第一列(data_averages)。

你的清單可能看起來像這樣爲你的代碼工作:

# Make sure it is in following format: [string, float] 
[['foo', 3.2], 
['bar', 4.3], 
['foo', 3.0]] 
# And so on... 

我希望這有助於!如果代碼中存在錯誤,請在下面評論,我會盡我所能來儘快回覆。