【问题标题】:To extract distinct values for all categorical columns in dataframe为数据框中的所有分类列提取不同的值
【发布时间】:2020-05-14 00:05:27
【问题描述】:

我有一种情况,我需要打印数据框中所有分类列的所有不同值 数据框如下所示:

Gender  Function  Segment
M       IT        LE
F       IT        LM
M       HR        LE
F       HR        LM

输出应该给我以下信息:

Variable_Name    Distinct_Count
Gender           2
Function         2
Segment          2

如何做到这一点?

【问题讨论】:

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


    【解决方案1】:

    使用nunique 然后将系列传递到新的数据名并设置列名。

    df_unique = df.nunique().to_frame().reset_index()
    df_unique.columns = ['Variable','DistinctCount']
    

    print(df_unique)
       Variable  DistinctCount
    0    Gender              2
    1  Function              2
    2   Segment              2
    

    【讨论】:

    • 不错的一个!这可能是我所缺少的并使它变得艰难:P
    • 当有人为我们简化并创建了不错的方法时,无需循环 :) @CeliusStingher
    【解决方案2】:

    这不好,但它不会无法提供预期的输出:

    new_data = {'Variable_Name':[],'Distinct_Count':[]}
    for i in list(df):
        new_data['Variable_Name'].append(i)
        new_data['Distinct_Count'].append(df[i].nunique())
    new_df = pd.DataFrame(new_data)
    print(new_df)
    

    输出:

      Variable_Name  Distinct_Count
    0        Gender               2
    1      Function               2
    2       Segment               2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-30
      • 2021-08-14
      • 1970-01-01
      • 2016-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多