在多索引 pandas DataFrame 中选择每个索引的第一行
Selecting first row of each index in multi indexing pandas DataFrame
选择多索引 pandas 数据帧的每个索引的每个第一行。
grouped = ecommerce[["category_id", "brand", "price"]].groupby(by=["category_id", "brand"]).mean()
grouped_sort = grouped.sort_values(by=["category_id", "price"], ascending=False)
grouped_sort
看起来像这样:
现在在这个数据框上,我想在每个类别中只选择价格最高的第一个品牌。
谁能帮帮我?
以下代码可以提供帮助:
gsgb = grouped_sort.copy()
gsgb = gsgb.groupby(level=0)
print(type(gsgb))
gsgb.head()
for cat, df in gsgb:
display(df.sort_values(by=["price"], ascending=False).reset_index().iloc[0])
工作:
它基本上遍历分组数据框中的所有类别,然后根据 price
对值进行排序,然后重置索引,最后选择价格最高的那个。
选择多索引 pandas 数据帧的每个索引的每个第一行。
grouped = ecommerce[["category_id", "brand", "price"]].groupby(by=["category_id", "brand"]).mean()
grouped_sort = grouped.sort_values(by=["category_id", "price"], ascending=False)
grouped_sort
看起来像这样:
现在在这个数据框上,我想在每个类别中只选择价格最高的第一个品牌。
谁能帮帮我?
以下代码可以提供帮助:
gsgb = grouped_sort.copy()
gsgb = gsgb.groupby(level=0)
print(type(gsgb))
gsgb.head()
for cat, df in gsgb:
display(df.sort_values(by=["price"], ascending=False).reset_index().iloc[0])
工作:
它基本上遍历分组数据框中的所有类别,然后根据 price
对值进行排序,然后重置索引,最后选择价格最高的那个。