我对编程很陌生,但到目前为止,我已经被它的强大功能迷住了。在这种情况下,我遇到了一个问题,我有一个数据集,其中一个变量是商品名称:"苹果"、"梨"、"花椰菜"、"木屐"、"运动鞋"等。我想试着把这些商品归类到更高级的类别:"水果"、"蔬菜"、"鞋子"等等。我通过搜索的感觉是,这可能是一个基于字典的分块问题,但我不确定如何实现解决方案。我可以很容易地获得蔬菜、水果和鞋子类型的列表,但是是否有现有的软件包可以特别帮助解决这类问题?我最熟悉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']]