首先,我很抱歉!這是我第一次使用堆棧溢出,所以我希望我做對了!我搜索,但無法找到我在找什麼。 我也是熊貓和蟒蛇相當新:) 我將嘗試使用一個例子,我會嘗試清楚。熊貓樞軸表,如何在值屬性中放入一系列的列
我有一個包含30列的數據框,其中包含有關購物車的信息,其中1列(順序)有2個值,或者正在完成。 而且我有20列的項目,可以說蘋果,橙子,香蕉......而且我需要知道有多少次完整訂單中有一個蘋果,以及正在進行的訂單中有多少個蘋果。我決定使用具有聚合函數計數的數據透視表。 這將是數據幀的一個小例子:
Order | apple | orange | banana | pear | pineapple | ... |
-----------|-------|--------|--------|------|-----------|------|
completed | 2 | 4 | 10 | 5 | 1 | |
completed | 5 | 4 | 5 | 8 | 3 | |
iProgress | 3 | 7 | 6 | 5 | 2 | |
completed | 6 | 3 | 1 | 7 | 1 | |
iProgress | 10 | 2 | 2 | 2 | 2 | |
completed | 2 | 1 | 4 | 8 | 1 | |
我有輸出我想,但我正在尋找的是選擇很多列,而無需手動鍵入這些更優雅的方式。
df.pivot_table(index=['Order'], values=['apple', 'bananas', 'orange', 'pear', 'strawberry',
'mango'], aggfunc='count')
但我想選擇約15列,因此而不是鍵入一個個的15倍,我敢肯定有通過使用列編號或東西做的一個簡單的方法。假設我想選擇從6到15的列。
我嘗試過類似values = [df.columns [6:15]]的事情,我也嘗試過使用df.iloc,但正如我所說的,我很新,所以我可能會使用錯誤的東西或做出愚蠢的事情!
有沒有辦法讓他們按照他們的順序?因爲在我的回答中,他們似乎已按字母順序排列,我想保留列的順序。因此,它應該是蘋果,橘子,香蕉......
Order Completed In progress
apple 92 221
banana 102 144
mango 70 55
我只是在尋找提高我的代碼的方式,我希望我還沒有取得很大的混亂。謝謝!
謝謝您的回答,我嘗試,但我得到這個錯誤:KeyError異常:[「蘋果」,'香蕉','橙']不在索引中「當我使用這種風格'df = df.pivot_table(columns = ['Order'],values = df.columns [1:3],aggfunc ='count')'So可能問題在其他地方? –
好的,那麼第二和第三列是'apple'和'orange'?在樣例print [df.columns [1:3])' - 'Index(['apple','orange '],dtype ='object')' – jezrael
python從'0開始計數,所以第一列是'df.columns [0]',第二'1' ... – jezrael