我有一个从电子表格创建的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()
方法结合起来,但我不知道如何做到这一点--主要是因为我不确定如何构造和应用频率查找函数。
1条答案
按热度按时间c0vxltue1#
您可以尝试以下操作,