根据 Pandas 中的行频率对 Dataframe 进行排序
在本文中,我们将讨论如何在 Pandas 中使用 count() 和 sort_values()。所以pandas中的count计算dataframe列中元素出现的频率,然后sort根据元素频率对dataframe进行排序。
- count():此方法将向您显示 DataFrame 中每列的值数。
- sort_values():此方法帮助我们对数据框进行排序。在此方法中,我们传递列,我们的数据框根据此列进行排序。
示例 1:根据元素频率对数据框进行降序排序的程序。
Python
# import pandas
import pandas as pd
# create dataframe
df = pd.DataFrame({'Name': ['Mukul', 'Rohan', 'Mukul', 'Manoj',
'Kamal', 'Rohan', 'Robin'],
'age': [22, 22, 21, 20, 21, 24, 20]})
# print dataframe
print(df)
# use count() and sort()
df = df.groupby(['Name'])['age'].count().reset_index(
name='Count').sort_values(['Count'], ascending=False)
# print dataframe
print(df)
Python
# import pandas
import pandas as pd
# create dataframe
df = pd.DataFrame({'Name': ['Mukul', 'Rohan', 'Mukul', 'Manoj',
'Kamal', 'Rohan', 'Robin'],
'age': [22, 22, 21, 20, 21, 24, 20]})
# print dataframe
print(df)
# use count() and sort()
df = df.groupby(['Name'])['age'].count().reset_index(
name='Count').sort_values(['Count'], ascending=True)
# print dataframe
print(df)
输出:
示例 2:根据元素频率对数据框进行升序排序的程序。
Python
# import pandas
import pandas as pd
# create dataframe
df = pd.DataFrame({'Name': ['Mukul', 'Rohan', 'Mukul', 'Manoj',
'Kamal', 'Rohan', 'Robin'],
'age': [22, 22, 21, 20, 21, 24, 20]})
# print dataframe
print(df)
# use count() and sort()
df = df.groupby(['Name'])['age'].count().reset_index(
name='Count').sort_values(['Count'], ascending=True)
# print dataframe
print(df)
输出: