【问题标题】:min() function in pandas column熊猫列中的 min() 函数
【发布时间】:2018-07-02 04:47:41
【问题描述】:

我有一个如下数据框 (df1):

 col1 val
0  A  AX
1  A  2
2  A  11
3  A  13
4  A  BX
5  A  20

我想选择具有最小值的行。因此,我写了以下内容:

df2 = df1.groupby(['col1'])['val'].min()

我从中得到的输出是,

col1
A 11
Name: Level, dtype: object

似乎值 AX, BX 导致它将其作为对象读取。因此,它正在进行排序并找到“11”作为最小值。如何修改它,使其可以进行数值排序和输出?

A 2

提前致谢。

【问题讨论】:

    标签: python-3.x pandas pandas-groupby


    【解决方案1】:

    您需要先将列转换为数字,因为min 使用字符串很好,并返回具有最低 ASCII 值的字符:

    df2 = pd.to_numeric(df1['val'], errors='coerce').groupby(df1['col1']).min().astype(int)
    print (df2)
    col1
    A    2
    Name: val, dtype: int32
    

    有关字符串中min 的更多信息是here

    【讨论】:

    • 您添加的链接适用于 python 2,适用于混合类型比较。我的猜测是 OP 的列都是字符串。
    • @cᴏʟᴅsᴘᴇᴇᴅ - 是的,我尝试找到更好的链接。
    猜你喜欢
    • 2021-10-04
    • 2017-03-22
    • 2022-10-19
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 2020-10-13
    相关资源
    最近更新 更多