如何在 pandas group by / nlargest 计算中获取额外的列名信息?
How do I get additional column name information in a pandas group by / nlargest calculation?
我正在使用六个 fuzzywuzzy 比率比较字符串对,我需要输出每对字符串的前三个分数。
这一行完成了工作:
final2_df = final_df[['nameHiringOrganization', 'mesure', 'name', 'valeur']].groupby(['nameHiringOrganization', 'name'])['valeur'].nlargest(3)
但是,excel 输出 table 缺少包含比率名称的 'mesure' 列。这很烦人,因为那时我无法确定六个比率中的哪一个最适合任何给定的对。
我认为选择开头的列可能有效(final_df[['columns',...]]),但似乎无效。
有没有想过如何添加该信息?
非常感谢!
我认为这里可以使用另一种解决方案,通过 DataFrame.sort_values
and then using GroupBy.head
:
按 3 列排序
final2_df = (final_df.sort_values(['nameHiringOrganization', 'name', 'valeur'],
ascending=[True, True, False])
.groupby(['nameHiringOrganization', 'name'])
.head(3))
我正在使用六个 fuzzywuzzy 比率比较字符串对,我需要输出每对字符串的前三个分数。
这一行完成了工作:
final2_df = final_df[['nameHiringOrganization', 'mesure', 'name', 'valeur']].groupby(['nameHiringOrganization', 'name'])['valeur'].nlargest(3)
但是,excel 输出 table 缺少包含比率名称的 'mesure' 列。这很烦人,因为那时我无法确定六个比率中的哪一个最适合任何给定的对。
我认为选择开头的列可能有效(final_df[['columns',...]]),但似乎无效。
有没有想过如何添加该信息?
非常感谢!
我认为这里可以使用另一种解决方案,通过 DataFrame.sort_values
and then using GroupBy.head
:
final2_df = (final_df.sort_values(['nameHiringOrganization', 'name', 'valeur'],
ascending=[True, True, False])
.groupby(['nameHiringOrganization', 'name'])
.head(3))