首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python熊猫对dataframe列排序

Python熊猫对dataframe列排序
EN

Stack Overflow用户
提问于 2019-01-25 03:48:23
回答 1查看 135关注 0票数 0

我试图在我的dataframe中的两列上使用秩函数。

问题

其中一列包含空白值,这不允许我在排名前做groupby。

ERROR ValueError:长度不匹配:预期轴有1122个元素,新值有1814个元素

代码语言:javascript
运行
复制
 df_source['col1'] = df_source['col1'].apply(lambda \
    x:x.strip()).replace('',np.nan)

 df_source['Rank'] = df_source.groupby(by=['col0','col1']) \
    ['col1'].transform(lambda x: x.rank(na_option='bottom'))


      **Actual:**

        col0   col1
        98630  a
               a
        90211  a
        31111  a
               b
        23323  c

    **Expected**

        col0   col1  Rank
        98630  a      1
               a      2
        90211  a      1
        31111  a      1
               b      1
        23323  c      1
EN

回答 1

Stack Overflow用户

发布于 2019-01-25 05:58:24

此代码给出了预期的结果。对于具有空值的列,我试图避免使用groupby函数。

代码语言:javascript
运行
复制
    df['col0'] = df['col0'].replace('', np.nan)
    df_int = df.loc[df['col0'].notnull(), 'col1'].unique()
    df = df[~(df['col0'].isin(df_int) & df['col1'].isnull())]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54358694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档