Pandas DataFrame - 使用迭代条件提取行

Pandas DataFrame -Extraction rows by using iterative condition

我的问题可能很简单,但对我来说很难。

所以,我有如下数据:

table = pd.DataFrame([['AAA', 12333.21, 'buy'], ['BBB', 7683.15, 'buy'], ['AAA', 33.2, 'sell'], ['CCC', 33.2, 'buy']], columns=['Ticker', 'Value', 'Buy or Sell'])

我想在 'Buy or Sell' 栏中查看出售了哪些乐器。提取这些工具的“代码”并创建一个新的数据框,其中仅包含该特定代码的工具。对于上面的例子,它是:

Ticker Value Buy or Sell
AAA 12333.21 buy
AAA 33.2 sell

我从以下代码开始:

marker = table[table["Buy or Sell"]=="sell"]
marker_final = marker.loc[:,"Ticker"]

但之后无论何时我继续它都不起作用,例如:

table[table["Ticker"] == marker_final]

您可以通过 marker'Ticker' 列中的所有唯一值对 table 进行子集化:

marker_final = table[table['Ticker'].isin(marker['Ticker'].unique())]

结果:

  Ticker     Value Buy or Sell
0    AAA  12333.21         buy
2    AAA     33.20        sell