当存在相似的值时,如何在dataframe中删除行?

2024-04-19 09:46:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个股票数据的python数据框架,我正在尝试过滤一些股票代码。 有些公司有两个或两个以上的股票代码(当一个股票优先,另一个股票不优先时,有不同类型的股票)。 我想去掉那些额外的股票价值,只让股票的交易量更大。在数据框中,我也有公司名称,所以可能有一种方法可以使用它来创建一些条件,然后在比较同一公司的数量时删除它?我该怎么做? Dataframe


1条回答
网友
1楼 · 发布于 2024-04-19 09:46:13

使用groupby和idxmax:

假设此数据帧:

>>> df
  ticker  volume
0  CEBR3     123
1  CEBR5     456
2  CEBR6     789  # <- keep for group CEBR
3  GOAU3      23  # <- keep for group GOAU
4  GOAU4      12
5  CMIN3     135  # <- keep for group CMIN3
>>> df.loc[df.groupby(df['ticker'].str.extract(r'^(.*)\d', expand=False), 
                      sort=False)['volume'].idxmax().tolist()]

  ticker  volume
2  CEBR6     789
3  GOAU3      23
5  CMIN3     135

相关问题 更多 >