【问题标题】:Pandas: Combining Product and Apply熊猫:结合产品和应用
【发布时间】:2023-02-22 01:49:32
【问题描述】:

我有一个从主要包含字符串的电子表格创建的 df:

         #             age sex   employed          educ marital   race
0    1  35 to 44 years   F  Full time      Some Col     DIV  White
1    2  65 to 74 years   M    Retired         BA/BS    SING  White
2    3  45 to 54 years   F  Full time         BA/BS     MAR   Hisp

我想确定最常见/最不常见的值组合 - 也许一种简单的方法是计算每列中的频率比例,然后查找给定值的比例并将所有比例相乘(即具有罕见组合的人这些列中的值将有一个非常小的数字)。

所以我建立了一个包含频率的字典:

frequencies = {col_name: frame[col_name].value_counts(normalize=True).to_dict() for col_name in columns[1:]}

产生类似'sex': {'F': 0.5666666666666667, 'M': 0.43333333333333335}的输出

现在我知道我需要一个函数来查找频率,然后我感觉我需要将 apply()-ing 该函数与 product() 方法结合起来,但我不知道如何做到这一点——主要是因为我不确定如何构建和应用频率查找功能。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    您可以尝试以下操作,

    df.groupby(list(df.columns)).size()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      • 2019-07-25
      • 1970-01-01
      • 2020-01-19
      • 2020-10-27
      • 2017-11-14
      相关资源
      最近更新 更多