2016-07-14 1 views
1

私は、広告サイズ、広告カテゴリの広告配置などのデータセット内の変数に基づいて、自分のデータセット内の広告のクリック単価を計算するために、パンダを使用して列データを集計しようとしています。 私は、adSize(1〜5のカテゴリ変数)でadCostとadClicksをグループ化しています。 データセットに新しい列を生成すると、adSizeごとに現在集計されたadCostが使用され、adSizeごとにadClickが計算され、adSizeごとのクリック単価が計算されます。 集計を変数に保存しましたが、それを後で操作できるDataFrameまたはオブジェクトに保存していません。何が欠けているのか、間違っているのですか?あなたの援助このデータを集計し、pythonとpandasで新しい列を作成するにはどうすればよいですか?

答えて

2

ため

import pandas as pd 
import numpy as np 

df = pd.DataFrame(data) 

from sklearn import preprocessing 
label_encoder = preprocessing.LabelEncoder() 

## Convert 'adSize' to categorial values 
df['adSize'] = df['adSize'] 
df['adSize'] = label_encoder.fit_transform(df['adSize']) 

agg_calc = { 
    'adCost':{ 
    # work on the "calculation" column 
     'total_cost': 'sum', 
     'avg_cost': 'mean' 
    }, 
    'adClicks':{ 
     'total_clicks': 'sum', 
     'avg_click': 'mean', 
     'count': 'count' 
    } 
} 

## Aggregate by adSize 
y= df.groupby(['adSize']).aggregate(agg_calc) 

おかげであなたは、単にgroupbyを使用することができるはずです。私はあなたのデータを持っていないと私はあなたの質問を理解し、完全に一定ではないんだけど、次のようなものが動作するはずです:

は、あなたが何を求めているということですか?

+0

私はあなたの機能が私が達成しようとしているものを解決すると信じています。私のジレンマは、DataFrameで集計関数を使用すると、変数を変数に保存しても結果が保存または保存されないように見えるということでした。このようにして、集計関数によって作成されたデータを後で操作することはできず、出力のみを出力することができます。私は、もう一方を分割するなど、集計関数の結果をさらに操作したいと思っていました。私はあなたのソリューションはうまくいくと思うし、よりシンプルです。 2つの方法の目的や違いはどういうものなのでしょうか? – OAK

関連する問題