Python Pandas NLAGEST plus始终包括;X";

Python Pandas NLAGEST plus始终包括;X";,python,pandas,Python,Pandas,我试图创建一个图表,列出前4个品牌,加上我所代表的品牌(“X”),它们的所有产品排名的总和 下面是3个品牌的示例,以及数据的样子(我的数据集中有300多个品牌) 我如何根据产品排名的总和选择前4个品牌,然后始终包括我的品牌,品牌“X” 此外,如果我的品牌在前4名中,那么我如何选择前5名品牌,以便在每个图表中有5个恒定的品牌 谢谢 您可以使用pd.concat n=2# input the number you need x='A' # input the brand you want to k

我试图创建一个图表,列出前4个品牌,加上我所代表的品牌(“X”),它们的所有产品排名的总和

下面是3个品牌的示例,以及数据的样子(我的数据集中有300多个品牌)

我如何根据产品排名的总和选择前4个品牌,然后始终包括我的品牌,品牌“X”

此外,如果我的品牌在前4名中,那么我如何选择前5名品牌,以便在每个图表中有5个恒定的品牌


谢谢

您可以使用
pd.concat

n=2# input the number you need 
x='A' # input the brand you want to keep 
pd.concat([df.sum(level=0).sort_values('Rank',ascending=False).head(2),df.sum(level=0).loc[[x]]]).max(level=0)
Out[456]: 
       Rank
Brand      
B      8704
C      7013
A      6433

您可以使用
pd.concat

n=2# input the number you need 
x='A' # input the brand you want to keep 
pd.concat([df.sum(level=0).sort_values('Rank',ascending=False).head(2),df.sum(level=0).loc[[x]]]).max(level=0)
Out[456]: 
       Rank
Brand      
B      8704
C      7013
A      6433

这是如何指定应该获取秩和的?我对python还是新手,但它似乎没有指定“rank”列或[2]。
df.rank.sum(level=0)
您可以添加此项在尝试实现此功能时,我注意到代码实际上没有返回正确的品牌。在我上面的样本数据中,前两个品牌实际上是品牌B和C,而不是A。但是,您提供的样本代码输出了A…因此我认为总和不能正常工作。你有什么想法吗?@Dys_Lexi_A my bad,添加sort_值应该可以解决最后(希望)一个问题。看起来,当我加入更多品牌时,我想要加入的品牌“A”在前5名之内,这是行不通的。也就是说,如果有一个品牌D有1000,品牌E有1200,结果将显示B、C、a,而不是显示D和E。我使用多个数据片多次运行此操作,希望有一行代码可以用于确定品牌a是否在前5名。这是如何指定is应该获得排名的总和的?我对python还是新手,但它似乎没有指定“rank”列或[2]。
df.rank.sum(level=0)
您可以添加此项在尝试实现此功能时,我注意到代码实际上没有返回正确的品牌。在我上面的样本数据中,前两个品牌实际上是品牌B和C,而不是A。但是,您提供的样本代码输出了A…因此我认为总和不能正常工作。你有什么想法吗?@Dys_Lexi_A my bad,添加sort_值应该可以解决最后(希望)一个问题。看起来,当我加入更多品牌时,我想要加入的品牌“A”在前5名之内,这是行不通的。也就是说,如果有一个品牌D有1000,而品牌E有1200,结果将显示B、C、a,而不是显示D和E。我用多个数据切片多次运行此操作,希望有一行代码可以工作,无论品牌a是否在前5名。