我有一个大型的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中的位置
有可能吗?
非常感谢您。
干杯,杰斯珀。
答案 0 :(得分:2)
您可以将index
的索引值的列AllDTrades
与merge
一起使用,reset_index
与SpecificTrade
相同,即使没有参数{{ 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