我试图获得最高的评价使用多栏groupby,如果没有组合,特别groupby,它抛出了一个错误。如何进行多重组合?你知道吗
数据:
maritalstatus gender age_range occ rating
ma M young student PG
ma F adult teacher R
sin M young student PG
sin M adult teacher R
ma M young student PG
sin F adult teacher R
代码:
def get_top( maritalstatus, gender,age_range, occ):
m = df.groupby(['maritalstatus',' gender', 'age_range', 'occ'])
['rating'].apply(lambda x: x.value_counts().index[0 ])
mpaa = m[maritalstatus][gender][age_range][occ]
return mpaa
输入:
get_top('ma', 'M', 'young','teacher)
输出: 给我一个错误,因为没有这样的组合。你知道吗
在这里,如果没有这样的组合,我的功能应该限制在,已婚,男性和年轻人,而不是教师,因为没有这样的组合。你知道吗
可以使用^{} 进行动态输入(值的顺序不能更改),使用^{} 进行过滤:
这是一个非熊猫解决方案。
Counter.most_common()
按最常见的降序计数对结果进行排序。你知道吗^{} 绝对是处理详细表格数据的goto库。对于那些寻求非
pandas
选项的人,您可以构建自己的映射和还原函数。我使用这些术语的含义如下:pandas
类似的groupby/聚合概念。你知道吗给定的
用单个分隔符替换多个空格的已清理数据,例如
","
。你知道吗代码
步骤1:读取数据
输出
第2步:重新映射数据
输出
第3步:减少数据
输出
演示
有了这些工具,您可以构建数据管道并查询数据,将一个函数的结果输入到另一个函数中:
总的来说,您可以根据如何定义缩减函数来定制输出。你知道吗
注意,这个通用过程的代码比former example更冗长,尽管它对许多数据列有强大的应用。
pandas
简洁地封装了这些概念。虽然学习曲线最初可能更陡峭,但它可以大大加快数据分析。你知道吗细节
"M"
、"F"
。你知道吗defaultdict
的新条目初始化Counter
,而重复的条目只是记录观察结果。你知道吗应用程序
管道是可选的。在这里,我们将构建一个处理串行请求的函数:
相关问题 更多 >
编程相关推荐