识别python数据帧中等于的行...

时间:2018-11-03 14:55:10

标签: python dataframe rows

我有一个大型的DataFrame(称为AllDTrades),具有很多安全交易,例如:

    trd_exctn_dt    ascii_rptd_vol_tx   rptd_pr    yld_pt       sttl_dt
1   2018-07-02      150000.0            98.6100    4.476914     7/5/2018 
....

现在,我需要找到一个函数,该函数能够告诉我特定交易在DataFrame中定位了多少次,以及在DataFrame中位于何处。因此,我需要问一些类似的问题(这当然是行不通的):

AllDTrades.loc[AllDTrades==SpecificTrade], 

其中

SpecificTrade是一项交易,可以这样说:

2018-07-02      150000.0            98.6100    4.476914     7/5/2018

因此,我需要确定SpecificTrade是否 1)是AllDTrades的一部分 2)AllDTrades中的交易位置 3)另外,如果像SpecialTrade这样的AllDTrades中有多个交易,我需要知道所有这些交易在AllDTrades中的位置

有可能吗?

非常感谢您。

干杯,杰斯珀。

1 个答案:

答案 0 :(得分:2)

您可以将index的索引值的列AllDTradesmerge一起使用,reset_indexSpecificTrade相同,即使没有参数{{ 1}}由所有列合并:

on

print (AllDTrades)
  trd_exctn_dt  ascii_rptd_vol_tx  rptd_pr    yld_pt   sttl_dt
1   2018-07-02           150000.0    98.61  4.476914  7/5/2018
2   2018-07-03           290000.0    98.61  4.476914  7/5/2018
3   2018-07-02           150000.0    98.61  4.476914  7/5/2018


SpecificTrade = AllDTrades.iloc[[0]]
print (SpecificTrade)
 trd_exctn_dt  ascii_rptd_vol_tx  rptd_pr    yld_pt   sttl_dt
1   2018-07-02           150000.0    98.61  4.476914  7/5/2018

df = AllDTrades.reset_index().merge(SpecificTrade)
print (df)
   index trd_exctn_dt  ascii_rptd_vol_tx  rptd_pr    yld_pt   sttl_dt
0      1   2018-07-02           150000.0    98.61  4.476914  7/5/2018
1      3   2018-07-02           150000.0    98.61  4.476914  7/5/2018