2017-09-07 5 views
0

Googleアナリティクスのデータに基づいて、Pythonのパンダのデータフレームでの作業:Pythonのパンダ:連結列の検索

Customer | medium | dollars | date 
ABC  cpc   43  04062015 
ABC  cpc   35  05042015 
BCD  cpc   25  02012015 
BCD  referral 15  01112015 
CDE  referral 67  03262015 
CDE  organic  66  04042015 
CDE  organic  15  03062015 
DEF  organic  33  07092015 
DEF  referral 90  01052015 
DEF  cpc   57  04122015 

あなたは顧客のBCDは、CPCと紹介を通じて取引しながら、ABCは、唯一のCPCを通じて取引その顧客を見ることができます。正しい集計のために

、私は基本的に私がコラム「中」のすべての反復により、クライアントのKPIまたは一意のクライアント数をまとめることができますピボットに向かって働いています次の列

Customer | medium | dollars | date  |medium_year 
ABC  cpc   43  04062015 cpc 
ABC  cpc   35  05042015 cpc 
BCD  cpc   25  02012015 cpc, referral 
BCD  referral 15  01112015 cpc, referral 
CDE  referral 67  03262015 referral, organic 
CDE  organic  66  04042015 referral, organic 
CDE  organic  15  03062015 referral, organic 
DEF  organic  33  07092015 organic, referral, cpc 
DEF  referral 90  01052015 organic, referral, cpc 
DEF  cpc   57  04122015 organic, referral, cpc 

を追加する必要があります。

  • CPCのみ
  • 紹介のみ
  • 有機のみ
  • CPC &紹介
  • CPC
  • &有機紹介
  • &有機クリック単価、照会&有機

上記の値は列内で一意であるため、「cpc &紹介」は一度ではなく、「紹介& cpc」は1回ではありません。形式が何であるかは関係ありません。&またはカンマ。最も簡単なことは何でも。私は私がの.locまたは参照を使用することができることをしたら

Customer |medium_year 
ABC  cpc only 
BCD  cpc, referral 
CDE  referral, organic 
DEF  organic, referral, cpc 

は、私はおそらく、ルックアップテーブルを作成するには、このようなものが必要。しかし、どのようにルックアップテーブルを作成するのですか?それとも簡単な方法がありますか?例えば、あなたがgroupby()transform()でこれを行うことができますあなたの

答えて

3

ありがとう:

>>> df['medium_year'] = df.groupby('Customer')['medium'].transform(lambda x: ', '.join(set(x))) 
>>> df 
    Customer medium dollars  date    medium_year 
0  ABC  cpc  43 4062015      cpc 
1  ABC  cpc  35 5042015      cpc 
2  BCD  cpc  25 2012015   cpc, referral 
3  BCD referral  15 1112015   cpc, referral 
4  CDE referral  67 3262015  referral, organic 
5  CDE organic  66 4042015  referral, organic 
6  CDE organic  15 3062015  referral, organic 
7  DEF organic  33 7092015 referral, organic, cpc 
8  DEF referral  90 1052015 referral, organic, cpc 
9  DEF  cpc  57 4122015 referral, organic, cpc 
+0

はどうもありがとうございました - 私は「CPC、紹介」と「紹介、CPC」を避けるんか - ちょうど並べ替えIべき顧客とメディアは事前に? – jeangelj

+0

'set(x)'が物事を一貫した順序で返せない場合は 'sorted(set(x))'を実行することができます。 – AChampion

関連する問題