如何在DataFrame Python中将标题和计数添加为列名

mnemlml8  于 2023-01-04  发布在  Python
关注(0)|答案(1)|浏览(131)

我正在尝试查找 Dataframe 列的重复值及其按降序排列的计数。
能够实现以下代码

dfNew = df.pivot_table(index=['Title'],aggfunc='size').sort_values(ascending=False)

但是,当我打印dfNew时,结果如预期的那样出现,但是列的标题是空的。如何确保结果显示在标题和计数列下

<table>

<tbody>
<tr>
<td>Australia Beach</td>
<td>2</td>
</tr>
<tr>
<td>Canada Beach</td>
<td>5</td>
</tr>
</tbody>
</table>
ruarlubt

ruarlubt1#

假设您开始使用的 Dataframe 如下所示:

df = pd.DataFrame({
    "Title": [
        'Australia Beach', 
        'Canada Beach', 
        'Australia Beach', 
        'Canada Beach', 
        'Canada Beach', 
        'Canada Beach', 
        'Canada Beach'
    ]
})
print(df)
Title
0  Australia Beach
1     Canada Beach
2  Australia Beach
3     Canada Beach
4     Canada Beach
5     Canada Beach
6     Canada Beach

更简单的方法是使用df.value_counts()
一个二个一个一个
这个函数的输出与df.pivot_table(index=['Title'],aggfunc='size').sort_values(ascending=False)相同,但代码要简洁得多。它返回一个panda Series对象,但听起来像是要返回一个列名称为TitleCount的 Dataframe 。你可以简单地使用以下代码来实现这一点:

pd.DataFrame(df.value_counts(), columns=['count']).reset_index()
Title  count
0     Canada Beach      5
1  Australia Beach      2

相关问题