如何使用Pandas从表中打印一个实体

时间:2018-04-27 15:28:51

标签: python-3.x pandas

             Open     High     Low   Close  Shifted_Close  Movements  Sign
Date                                                                   
2018-04-21  8875.1  9075.0  8629.3  8944.6         8875.0       69.6   Positive
2018-04-22  8939.7  9072.0  8760.5  8811.8         8944.6     -132.8   Negative
2018-04-23  8796.3  9032.1  8784.9  8954.1         8811.8      142.3   Positive
2018-04-24  8959.0  9749.0  8947.0  9661.7         8954.1      707.6   Positive
2018-04-25  9661.7  9750.0  8767.0  8974.5         9661.7     -687.2   Negative

这是我使用熊猫的表格。我想知道如何在最新的条目“2018-04-25”上做一个简单的if函数。

这将是:

if btc_usd_price_kraken['Sign'] == 'Negative':
      print("Buy coins now")

但我只想要一个条目。

由于

3 个答案:

答案 0 :(得分:0)

您可以使用{<1}}访问所有记录:

Signin = 'negative'

输出:

df.loc[df['Sign']=='Negative']

您可以使用以下条件访问最后一条记录:

    Open    High    Low Close   Shifted_Close   Movements   Sign
Date                            
2018-04-22  8939.7  9072.0  8760.5  8811.8  8944.6  -132.8  Negative
2018-04-25  9661.7  9750.0  8767.0  8974.5  9661.7  -687.2  Negative

输出:

df.loc[df['Sign']=='Negative'].iloc[-1]

使用Open 9661.7 High 9750 Low 8767 Close 8974.5 Shifted_Close 9661.7 Movements -687.2 Sign Negative Name: 2018-04-25, dtype: object 条件检查上一个if值:

Sign

答案 1 :(得分:0)

我认为你想要这样的东西,如果他的数据框总是排序,使得最后一个值是底部记录:

df.iloc[-1, df.columns.get_loc('Sign')]

输出:

'Negative'

如果没有,你可以:

df.sort_index().iloc[-1, df.columns.get_loc('Sign')]

答案 2 :(得分:0)

假设您的数据框的名称为TEXT/BLOB

首先,请注意您将获得最新日期:

df

使用此df.index.max() ,使用Sign

获取.loc的相应值
df.loc[df.index.max(), 'Sign']

这会返回Sign日期2018-04-25的值,这是您要继续使用if条件的原因:

if df.loc[df.index.max(), 'Sign'] == 'Negative':
    print("Buy coins now")