- 此问题在此处已有答案**:
How to sort pandas dataframe by custom order on string index(5个答案)
39分钟前就关门了。
我有一个数据集,在params
和value
列中包含大量数据,我想计算每个params
包含多少个值(用作箱线图中的标签),所以我使用mydf['params'].value_counts()
来显示:
slidingwindow_250 11574
hotspots_1k_100 8454
slidingwindow_500 5793
slidingwindow_100 5366
hotspots_5k_500 3118
slidingwindow_1000 2898
hotspots_10k_1k 1772
slidingwindow_2500 1160
slidingwindow_5000 580
Name: params, dtype: int64
我有一个params
中所有条目的列表,按照我希望在箱线图中显示它们的顺序排列,我尝试使用sort_index(level=myorder)
来按照我的自定义顺序排列它们,但是该函数忽略了myorder
,只是按字母顺序排列它们。
myorder = ["slidingwindow_100",
"slidingwindow_250",
"slidingwindow_500",
"slidingwindow_1000",
"slidingwindow_2500",
"slidingwindow_5000",
"hotspots_1k_100",
"hotspots_5k_500",
"hotspots_10k_1k"]
sizes_bp_log_df['params'].value_counts().sort_index(level=myorder)
hotspots_10k_1k 1772
hotspots_1k_100 8454
hotspots_5k_500 3118
slidingwindow_100 5366
slidingwindow_1000 2898
slidingwindow_250 11574
slidingwindow_2500 1160
slidingwindow_500 5793
slidingwindow_5000 580
Name: params, dtype: int64
我怎样才能按照我想要的顺序得到我的值计数的索引呢?
此外,我还将使用每个分布的中值作为箱线图标签的坐标,我使用sizes_bp_log_df.groupby(['params']).median()
检索它;希望您建议的排序方法也能用于该任务。
1条答案
按热度按时间wi3ka0sx1#
使用
reindex
代替sort_index