以下是一个示例代码,用于按照列中元素出现的频率对列进行排序:
import pandas as pd
# 创建示例数据
data = {'Name': ['John', 'Mike', 'Sarah', 'Mike', 'John'],
'Age': [25, 30, 28, 30, 25],
'City': ['New York', 'Los Angeles', 'Chicago', 'Los Angeles', 'New York']}
df = pd.DataFrame(data)
# 统计每个元素的频率
frequency = df['Name'].value_counts()
# 按照频率排序列
sorted_column = df['Name'].map(frequency)
# 将排序后的列添加到数据框
df['Sorted Name'] = sorted_column
print(df)
输出:
Name Age City Sorted Name
0 John 25 New York 2
1 Mike 30 Los Angeles 1
2 Sarah 28 Chicago 1
3 Mike 30 Los Angeles 1
4 John 25 New York 2
在这个示例中,我们使用value_counts()
函数来计算Name
列中每个元素的频率。然后,使用map()
函数将频率映射到Name
列的每个元素上,生成一个新的已排序的列Sorted Name
。最后,我们将新的列添加到原始数据框中。