1
我有一個超市的銷售信息的數據框。數據框中的每一行代表一個項目,其中有幾個特徵作爲列。原來的數據幀是這樣的:熊貓樞軸或groupby動態生成的列
In [1]: import pandas as pd
my_data = [{'ticket_number' : '001', 'item' : 'tomato', 'ticket_price' : '21'},
{'ticket_number' : '001', 'item' : 'candy', 'ticket_price' : '21'},
{'ticket_number' : '001', 'item' : 'soup', 'ticket_price' : '21'},
{'ticket_number' : '002', 'item' : 'soup', 'ticket_price' : '12'},
{'ticket_number' : '002', 'item' : 'cola', 'ticket_price' : '12'},
{'ticket_number' : '003', 'item' : 'beef', 'ticket_price' : '56'},
{'ticket_number' : '003', 'item' : 'tomato', 'ticket_price' : '56'},
{'ticket_number' : '003', 'item' : 'pork', 'ticket_price' : '56'}]
df = pd.DataFrame(my_data)
In [2]: df
Out [2]:
ticket_number ticket_price item
0 001 21 tomato
1 001 21 candy
2 001 21 soup
3 002 12 soup
4 002 12 cola
5 003 56 beef
6 003 56 tomato
7 003 56 pork
我需要一個數據幀,每一行代表與購買的全部商品和門票價格爲列票。在這個例子中:
ticket_number ticket_price item1 item2 item3
0 001 21 tomato candy soup
1 002 12 soup cola
2 003 56 beef tomato pork
我試着用df.groupby(ticket_number).item.value_counts()
,但這並不能創建新列。我從來沒有使用pivot_table
,也許它很有用。
任何幫助將不勝感激。
謝謝!
爲**轉換(您的數據幀)從廣角形式長篇**這是已知的。使用這些關鍵字將會獲得比當前標題更好的答案。 – smci
它甚至不僅僅是一個數據透視表,因爲你並沒有將計數(特別是多個條目,例如多個'糖果')聚合到最終的計數表中,即'糖果','可樂'的單獨列。 ..你想要項目未排序(即按發生或購買的順序),或排序(例如按字母順序?) – smci