我有一个这样的数据集
Title Location Cuisine
restaurant_id
0 ['Dove Bistrot Lenovo Corso Giacomo Matteotti 8/10 Primo Piano Spazi... Italian, Seafood, Mediterranean, Healthy, Hawa...
1 ['Mabuhay Restaurant Bastioni di Porta Volta 9, 20121 Milan Italy Filipino, Healthy
2 ['Star Zagros Kebabbar Corso 22 Marzo, 38, 20135 Milan Italy Middle Eastern, Turkish, Pub, Bar, Internation...
3 ['Shabby Grill Restaurant Via Domokos 4, 20147 Milan Italy Italian, Steakhouse, Barbecue
4 ['Il Panino del Laghetto Via Laghetto 7, 20122 Milan Italy Italian, Street Food, Fast Food
如果我键入df.info(),我会得到以下结果:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 273 entries, 0 to 272
Data columns (total 9 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
1 Title 273 non-null object
2 Location 273 non-null object
3 Cuisine 273 non-null object
我想创建一个“分类”列,只保留烹饪列的第一世界,例如,列出的5行:意大利语、菲律宾语、中东语、意大利语、意大利语
如果我这样做:
df['Category'] = df['Cuisine'].partition(',')
它会说:
AttributeError: 'Series' object has no attribute 'partition'
我该如何解决这个问题
partition
方法可以从Series.str
访问,但是您试图通过df['Cuisine'].partition(',')
在pandas系列上直接使用它,这就是您出现错误的原因另外,您需要在调用
Series.str.partition
后获取第一项,这就是[0]
在下面的代码中所做的:但更好的选择是将
Series.str.split
与maxsplit参数n=1
一起使用:相关问题 更多 >
编程相关推荐