Python 3.x 当列值低于某个范围时,提取panda dataframe行中的日期

Python 3.x 当列值低于某个范围时,提取panda dataframe行中的日期,python-3.x,pandas,Python 3.x,Pandas,我有一个熊猫数据框df,内容如下 Date Factor Expiry Grade 0 12/31/1991 2.138766 3/30/1992 -3.33% 1 10/29/1992 2.031381 2/8/1993 -1.06% 2 5/20/1993 2.075670 6/4/1993 -6.38% 3 10/11/1994 1.441644 11/22/

我有一个熊猫数据框
df
,内容如下

       Date       Factor    Expiry         Grade  
0 12/31/1991    2.138766   3/30/1992      -3.33% 
1 10/29/1992    2.031381    2/8/1993      -1.06% 
2  5/20/1993    2.075670    6/4/1993      -6.38% 
3 10/11/1994    1.441644  11/22/1994      -7.80% 
4  1/11/1995    1.669600   1/20/1995      -7.39% 
5  5/15/1995    1.655237    8/8/1995      -8.68% 
6 10/17/1996    0.942000  10/22/1996      -7.39% 
7  2/19/1998    0.838838   5/26/1998      13.19% 
8   7/9/1998    1.303637   8/28/1998      -6.73% 
9 12/29/1998    1.517232   1/21/1999     -11.03% 
10 4/26/1999    1.613346   5/24/1999      -7.55% 
11  7/8/1999    2.136339   9/23/1999       5.43% 
12 3/22/2000    5.097782   3/29/2000      -6.44% 
我想在
日期
列下提取出与
等级
使用行对应的日期

或者,使用

df.Grade.str.replace('%', '').astype(float)

用于删除最后一个
%
,通过
le
@Maria,等级为字符串类型。谢谢。
In [464]: df.loc[df.Grade.str[:-1].astype(float).lt(-8), 'Date']
Out[464]:
5     5/15/1995
9    12/29/1998
Name: Date, dtype: object

In [465]: df.loc[df.Grade.str[:-1].astype(float).lt(-8), 'Date'].tolist()
Out[465]: ['5/15/1995', '12/29/1998']
df.Grade.str.replace('%', '').astype(float)
out = df.loc[df['Grade'].str.rstrip('%').astype(float).le(-8), 'Date']
print (out)
5     5/15/1995
9    12/29/1998
Name: Date, dtype: object
out = df.loc[df.Grade.str.rstrip('%').astype(float).le(-8), 'Date'].tolist()
print (out)
['5/15/1995', '12/29/1998']