1 回答

TA貢獻1884條經(jīng)驗 獲得超4個贊
您可以嘗試這個,盡管它可能不是最好的選擇。
使用您提到的代碼后:
df_new = pd.pivot_table(df, values="price", index=["area",], aggfunc='sum')
我創(chuàng)建了一個函數(shù)來查找每個區(qū)域的最后一個類別(其中 df 是原始 DataFrame):
def find_category(cat, list_categories):
list_categories.append(df[df['area'] == cat].iloc[-1].category)
然后使用 for 循環(huán)搜索每個區(qū)域的最后一個類別并將其添加到新的類別列中。然后,如果需要,您可以對列重新排序:
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
添加回答
舉報