2017-04-03 29 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 

::FOO = 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... 

私はこれが役に立てば幸い!コードにバグがある場合は、以下にコメントしてください。できるだけ早く対応するように最善を尽くします。

関連する問題