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
我的问题可能很简单,但对我来说很难。
所以,我有如下数据:
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