Python 列中的最小数量

Python 列中的最小数量,python,pandas,dataframe,min,Python,Pandas,Dataframe,Min,最低评级由以下列表决定(/代表新的CLUMN),并取决于评级公司(MR、SPR或FR)。该列表显示了与其他公司相比,哪家公司的税率最低 评级表 先生: Aaa/Aa1、Aa2、Aa3/A1、A2、A3/Baa1、Baa2、Ba3/Ba1、Ba2、Ba3/B1、B2、B3/Caa1、Caa2、Caa3、Ca、C SPR: AAA/AA+,AA,AA-/A+,A,A-/BBB+,BBB-/BB+,BB,BB-/B+,B,B-/CCC+,CCC,CCC-,CC,C,D FR: AAA/AA+,AA,A

最低评级由以下列表决定(/代表新的CLUMN),并取决于评级公司(MR、SPR或FR)。该列表显示了与其他公司相比,哪家公司的税率最低

评级表 先生:

Aaa/Aa1、Aa2、Aa3/A1、A2、A3/Baa1、Baa2、Ba3/Ba1、Ba2、Ba3/B1、B2、B3/Caa1、Caa2、Caa3、Ca、C
SPR:

AAA/AA+,AA,AA-/A+,A,A-/BBB+,BBB-/BB+,BB,BB-/B+,B,B-/CCC+,CCC,CCC-,CC,C,D
FR:

AAA/AA+,AA,AA-/A+,A,A-/BBB+,BBB-/BB+,BB,BB-/B+,B,B-/CCC,CC,C,DDD,DD,D

如下面的示例所示,如果多家公司在同一天对债券进行评级,则必须选择最低的 如何选择中字母最低的行

例如:

问题编号 评级日期 评级 评级类型 5. 2015-12-31 Aaa 先生 5. 2015-12-31 BBB+ SPR 5. 2015-12-31 BBB- FR 5. 2015-12-31 C 先生 代码:


如果rating列只有从A到Z的值,则只需获取(根据python)最大值并选择行:

df[df['Rating'] == df['Rating'].max()]

df[df[“Rating”]=“D”]
,其中
df
是您的dataframe@AvenDesta作为一种通用方法,我将如何进行此操作,因为我有一个大数据框,需要在其中执行此操作,并且最低值不总是D?如果您的字母值与其字母顺序相同,您可以通过df[“Rating”]找到唯一的值.unique()并对它们进行排序,然后选择您认为需要的一个。
df[df['Rating']==df['Rating'].max()
您可以先执行
df[df['Rating']==D']
,如果此项为空,
df[df['Rating']==C'
。。。您只有4个选项,因此它甚至不需要
loop
max
我可以问一下为什么方括号中的值是0吗?-->lowest_rate=df_sorted['Rating'][0]当然,这是因为我们希望在基本排序后选择评级的第一个索引。例如,如果评级列为
[“A”、“B”、“B”、“C”、“D”]
,则在
df\u排序后
变为
[“D”、“C”、“B”、“B”、“A”]
,索引
[0]
将根据需要选择“D”。我将尝试添加一个解释。谢谢,我现在明白了!这是否适用于BBB+、Baa1等评级?我猜不会?不,实际上不会。Python不理解BBB+之类的含义。我们可以找到一条出路,也许,你可以发布一个有这种可能性的样本,或者什么都是可能的?我们可以试着绕开一条路。我很乐意尝试帮助你@LDS1是的,这是完整的列表,如果一张债券在一天内被多家公司评级,那么我必须选择最低的评级(每个公司有七个不同的评级级别,以“/”分隔)。不用担心,谢谢!
df[df['Rating'] == df['Rating'].max()]