我对编程还很陌生,到目前为止,我对它的功能非常着迷。从这个角度来看,我遇到一个问题,其中有一个数据集,其中一个变量是商品名称:“苹果”,“梨”,“花椰菜”,“木log”,“运动鞋”等。我想要尝试将商品归类为更高级的商品:“水果”,“蔬菜”,“鞋子”等。我进行搜索后的感觉是,这将是基于字典的分块问题,但是我“我不确定如何实现解决方案。我可以很容易地获得蔬菜,水果和鞋子类型的清单,但是是否存在可以专门解决此类问题的现有软件包?我对Python和R,因此可以与这些语言一起使用的任何内容都是最有帮助的。
如果未以足够具体的方式写出此问题,我们深表歉意。我对stackoverflow还是陌生的,但仍然无法解决。
澄清:我正在尝试使用这些新的高阶标签创建一个新的数据集。
最佳答案
这是我的处理方式:
higher_order_conversion = {
('apple', 'pear', 'kiwi'): 'fruit', #the keys must be tuples, not lists
('X', 'Y', 'Z'): 'letter', # (because tuples are immutable and therefore hashable)
('loafers', 'sneakers', 'high heels'): 'shoes'
}
data_set = [[125, 'apple'], #these numbers are id numbers, or whatever extra information you might have packaged with your data
[126, 'Y'],
[127, 'loafers'],
[103, 'kiwi']
]
print 'before', data_set
for data in data_set:
for lower_order_list in higher_order_conversion.keys():
if data[1] in lower_order_list:
data[1] = higher_order_conversion[lower_order_list]
print 'after', data_set
输出:
before [[125, 'apple'], [126, 'Y'], [127, 'loafers'], [103, 'kiwi']]
after [[125, 'fruit'], [126, 'letter'], [127, 'shoes'], [103, 'fruit']]
希望这会给您一些想法。
关于python - 基于字典的关键字分类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16867767/