我在数据帧中有如下的元组:
项目 | |
---|---|
0 | (草莓、冰淇淋( |
1 | (苹果、香蕉、饼干( |
您还没有提供那么多信息。基于您的样本数据:
df1 =pd.DataFrame()
df1['items'] = [('strawberry', 'ice cream'), ('apple', 'banana', 'biscuits')]
一个解决方案是制作一个简单的函数,将每个项目与其类别关联起来。
def findCategory(x):
fruit = ["strawberry", "apple", "banana"]
snack = ["ice cream", "biscuits"]
result = {
'fruit': [],
'snack': []
}
for item in x['items']:
if item in fruit:
result['fruit'].append(item)
elif item in snack:
result['snack'].append(item)
return result
然后,您可以使用apply()
:将该函数应用于DataFrame
的每一行
df1['items'] = df1.apply(findCategory, axis=1)
# Output
items
0 {'fruit': ['strawberry'], 'snack': ['ice cream']}
1 {'fruit': ['apple', 'banana'], 'snack': ['bisc...
上面创建的findCategory()
函数是专门为您的示例工作的,但可以用更多的类别进行概括,如果您满意的话,还可以用字典理解。