希望取出python某列相等,另一列的最大值的那一行:

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

```python
df.columns = ['col1','col2','col3','col4','col5']#修改列名
print(df)
df_groupby_0 = df.groupby('col1', as_index=False)["col3"].max()
print(df_groupby_0)
      col1      col2      col3     col4          col5
0      chr1  23249349  23251066  REVERSE  LENGTH=237\n
1      chr1    819712    821227  FORWARD  LENGTH=385\n
2      chr1  25508737  25510697  FORWARD  LENGTH=619\n
3      chr1  27110887  27111825  FORWARD  LENGTH=256\n
4      chr1   1202815   1205664  FORWARD  LENGTH=468\n
...     ...       ...       ...      ...           ...
48231  chrc     50001     50363  REVERSE  LENGTH=120\n
48232  chrc     66929     67063  FORWARD   LENGTH=44\n
48233  chrc     60741     61430  FORWARD  LENGTH=229\n
48234  chrc     15013     15723  REVERSE  LENGTH=236\n
48235  chrc    141854    143708  FORWARD  LENGTH=389\n

[48236 rows x 5 columns]
   col1     col3
0  chr1  9994642
1  chr2  9998945
2  chr3  9999892
3  chr4  9994099
4  chr5  9992770
5  chrc    98793

这明显不是最大的那一行啊


```python

​

df_groupby_1 = df.sort_values('col3', ascending=False).groupby('col1', as_index=False).first()#ascending正序还是倒序

[点击并拖拽以移动]
​

哇,没有区别呢。

剪秋,我不懂啊?



观察了一下,col3列的数据可能是str字符型,所有首位为9的都上去了,转一个格式就可以解决了

df['col3'] = df['col3'].astype(int)  # 加入这一句,把col3的格式从str转为int,如有需要可以astype(float)
df_groupby_0 = df.groupby('col1', as_index=False)["col3"].max()
print(df_groupby_0)