【欲しい結果】
・IDの1日ごとの数字をDataFrameへ
・日付をコラムに設定し毎日の推移を確認
・Spend/InstallでCPIをだす
【エラー部分】
Wrong number of items passed 7, placement implies 1
実際のコード
import pandas as pd df= pd.read_excel('test.xlsx',) df=df.set_index(['IDs', 'Time'],append=True) df = df.unstack() df = df.swaplevel(axis=0).sort_index(axis=1) grp=df.groupby('Tweet ID').sum() grp['CPI']=grp['Spend]/grp['Installs] grp[['Spend',Installs]]
【grpのエラー前の結果】
Idsの部分は同じIdsでも日付毎に全部IDがエクセルに入ってるので、下記の用にIDが足し算されてる
|列1|Spend|Spend|Spend|Spend
|:--|:--:|--:
|ID|2020-02-12|2020-02-13|2020-02-14|2020-02-15
|ID1|200|10|20|30
ID2|100|10|10|30
ID3|100|10|10|30
【欲しい結果】
|列1|Spend|Spend|Spend|Spend|CPI|CPI|CPI|CPI|
|:--|:--:|--:
|ID|2020-02-12|2020-02-13|2020-02-14|2020-02-15|2020-02-12|2020-02-13|2020-02-14|2020-02-15
|ID1|200|10|20|30|10|10|20|30
ID2|100|10|10|30|10|10|20|30
ID3|100|10|10|30|10|10|20|30
【エクセルの形】
|列1|列2|列3|列4
|:--|:--:|--:
|Time|Spend|Install|IDs
|11-Feb-2020 00:00|200|10|2|123445
12-Feb-2020 00:00|100|10|1|123445
13-Feb-2020 00:00|100|10|1|123446
|11-Feb-2020 00:00|200|10|2|123446
12-Feb-2020 00:00|100|10|1|123447
13-Feb-2020 00:00|100|10|1|123447
回答1件
あなたの回答
tips
プレビュー