如何从列表中创建键并从元组中获取键值对



我在数据帧中有如下的元组:

项目
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()函数是专门为您的示例工作的,但可以用更多的类别进行概括,如果您满意的话,还可以用字典理解。

最新更新