Df有2列
DF:
fruit location
apples store,freezer,kitchen,livingroom,store,freezer,kitchen,livingroom
mango store,freezer,kitchen,livingroom,store,freezer
orange store,freezer,kitchen,freezer
我需要计算每个位置的数量,如果有多个只是将它们视为一个
df['counts'] = df.location.str.strip().str.split(',').apply(len)
fruit location
apples 8
mango 6
orange 5
当我尝试使用独特的
时df['counts'] = df.location.str.strip().str.split(',').unique().apply(len)
TypeError: unhashable type: 'list'
fruit location
apples 4
mango 4
orange 3
答案 0 :(得分:2)
使用apply
+ set
+ len
df.location.str.split(',').apply(lambda x : len(set(x)))
Out[147]:
0 4
1 4
2 4
Name: location, dtype: int64