我想使用df_selected = df_targets.head(N)
根据特定列的条目选择Pandas数据框中的顶部条目
每个条目都有一个target
值(按重要性顺序):
Likely Supporter, GOTV, Persuasion, Persuasion+GOTV
不幸的是,如果我这样做了
df_targets = df_targets.sort("target")
排序将按字母顺序(GOTV
,Likely Supporter
,…)
我希望有一个像list_ordering
这样的关键字,如:
my_list = ["Likely Supporter", "GOTV", "Persuasion", "Persuasion+GOTV"]
df_targets = df_targets.sort("target", list_ordering=my_list)
为了解决这个问题,我创建了一个字典:
dict_targets = OrderedDict()
dict_targets["Likely Supporter"] = "0 Likely Supporter"
dict_targets["GOTV"] = "1 GOTV"
dict_targets["Persuasion"] = "2 Persuasion"
dict_targets["Persuasion+GOTV"] = "3 Persuasion+GOTV"
,但这似乎是一种非Python式的方法
建议将不胜感激
我认为您需要^{} 和参数} 进行排序,这非常好:
ordered=True
,然后按^{检查^{} 的文档:
我想这是最好的选择,以防你面临某些情况: 这是您的首选订单
所以,只要做
它是灵活的,不需要分配新的类别。但是您的列必须是
dtype = 'category'
,否则它将无法工作Read more here (Pandas documentation)
我前面的答案中显示的方法现在已被弃用
相反,最好使用
pandas.Categorical
,如图所示here因此:
相关问题 更多 >
编程相关推荐