私はすでにピボットされたデータフレームを持っています。ピボットテーブルはピボットデータフレームに作用します
Cost Transport Currency
Manufacturer ABC XYZ ABC XYZ ABC XYZ
Date
2017-07-01 312 323 31 41 Pounds Pounds
2017-07-02 423 335 21 32 Dollars Pounds
2017-07-03 421 304 21 21 Dollars Pounds
上記はメーカーからのコストや経費を建てている通貨でアイテムを購入することに関連するコストと輸送費を示しています。
は、私は何をしようとしていますが数字と場所を集約ありますそれらは通貨の下にあります。所望の出力は、私はパンダが与え全く好きではない
df.pivot_table(index='Date', columns='Currency', aggfunc=np.sum)
を試してみました(それはどこから来ることは明らかであるように、私はまた、未評価を残している)
Currency
Dollars Pounds
Date
2017-07-01 0 312+323+31+41
2017-07-02 423+21 335+32
2017-07-03 421+21 304+21
ですKeyError。
開始データフレームdfを取得するコードは次のとおりです。実際の使用例では、分析と集計のためにデータを最初にピボットする必要があります。したがって、my_listまたはdf_rawにピボット・テーブルを適用することはお勧めしません。
my_list = ["2017-07-01", "ABC",312, 31, "Pounds", "2017-07-01", "XYZ" ,323, 41, "Pounds",
"2017-07-02", "ABC", 423, 21, "Dollars", "2017-07-02", "XYZ" ,335, 32, "Pounds",
"2017-07-03", "ABC", 421, 21, "Dollars", "2017-07-03", "XYZ", 304, 21, "Pounds" ]
df_raw = pd.DataFrame(np.array(my_list).reshape(6,5),
columns = ["Date", "Manufacturer", "Cost", "Transport", "Currency"])
df = df_raw.pivot(index='Date', columns='Manufacturer')
感謝。 Stack、groupby、sum、unstackの印象的な使い方。 :-) – Spinor8