Pandas:组合产品与应用

n9vozmp4  于 2023-02-28  发布在  其他
关注(0)|答案(1)|浏览(123)

我有一个从电子表格创建的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()方法结合起来,但我不知道如何做到这一点--主要是因为我不确定如何构造和应用频率查找函数。

c0vxltue

c0vxltue1#

您可以尝试以下操作,

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

相关问题