【发布时间】:2017-01-06 11:43:33
【问题描述】:
我想使用 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 的方法。
建议将不胜感激!
【问题讨论】:
-
你的意思是
OrderedDict对吗? -
阅读this part 的文档。
-
是的,
OrderedDict
标签: python pandas dataframe sorting categorical-data