我想編輯 Pandas 數據框,您可以從這里獲取數據集。 樣本數據集正如您所看到的,每個“區域”都有一些“類別”,每個“類別”都有不同的“價格”。我想統一每個“區域”的“類別”,“類別”的值應該是每個“區域”的底部。換句話說,“category”的某些值將發生如下變化。之前:區域:A,類別:1,價格:500之后:區域:A,類別:2,價格:500圖像我知道可以通過數據透視表編輯此數據框,如下所示。但在這種情況下,我無法統一并顯示“類別”的值。pd.pivot_table(df, values="price", index=["area",], aggfunc='sum')如果您提供統一類別值的想法,我將不勝感激。
1 回答

慕村9548890
TA貢獻1884條經驗 獲得超4個贊
您可以嘗試這個,盡管它可能不是最好的選擇。
使用您提到的代碼后:
df_new = pd.pivot_table(df, values="price", index=["area",], aggfunc='sum')
我創建了一個函數來查找每個區域的最后一個類別(其中 df 是原始 DataFrame):
def find_category(cat, list_categories):
list_categories.append(df[df['area'] == cat].iloc[-1].category)
然后使用 for 循環搜索每個區域的最后一個類別并將其添加到新的類別列中。然后,如果需要,您可以對列重新排序:
list_categories = []
for area in df_new.index:
find_category(area, list_categories)
df_new['category'] = list_categories
df_new = df_new[['category','price']]
輸出將是:
category price
area
A 2 900
B 1 350
C 4 800
D 1 500
添加回答
舉報
0/150
提交
取消