首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重映射值-切到Pandas中的列

重映射值-切到Pandas中的列
EN

Stack Overflow用户
提问于 2016-02-25 13:27:31
回答 1查看 165关注 0票数 1

我有一个数据文件,其中features-column的值与以下所示类似:

http://screencast.com/t/0Ko0NIBLwo

代码语言:javascript
复制
   features                    name             price  rating  read reviews
9  {'Cooking...': '- S...', }  Master Chef...  $279.99   None  None      {}  

dict的例子:

代码语言:javascript
复制
{u'Cooking Type': u'- Specialty Cooking', u'Cooking Area': u'- Backyard', u'Brand Name': u'- Pizzacraft', u'Fuel Type': u'- Propane', u'Product Type': u'- BBQ', u'Size': u'- Medium Size'}

是否可以将这些值转换为类似的新列?

代码语言:javascript
复制
   features                    Cooking Type       Specialty Cooking  ... name             price  rating  read reviews
9  {'Cooking...': '- S...', }  Specialty Cooking   Backyard          ... Master Chef...    $279.99   None  None      {}  
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-25 13:51:29

我想你可以用replacestripconcat

代码语言:javascript
复制
print df
                                            features          name    price  \
0  {u'Cooking Type': u'- Specialty Cooking', u'Co...  Master Chef1  $279.99   
1  {u'Cooking Type': u'- Specialty Cooking', u'Co...  Master Chef3  $279.99   

  rating  read reviews  
0   None  None      {}  
1   None  None      {}  

df1 = pd.DataFrame([x for x in df['features']], index=df.index)

for col in df1.columns:
    df1[col] = df1[col].str.replace(r'-','').str.strip()

print df1
   Brand Name Cooking Area       Cooking Type Fuel Type Product Type  \
0  Pizzacraft     Backyard  Specialty Cooking   Propane          BBQ   
1  Pizzacraft     Backyard  Specialty Cooking   Propane          BBQ   

          Size  
0  Medium Size  
1  Medium Size  

df = pd.concat([df1, df[['name','price','rating','read','reviews']]], axis=1)
print df
   Brand Name Cooking Area       Cooking Type Fuel Type Product Type  \
0  Pizzacraft     Backyard  Specialty Cooking   Propane          BBQ   
1  Pizzacraft     Backyard  Specialty Cooking   Propane          BBQ   

          Size          name    price rating  read reviews  
0  Medium Size  Master Chef1  $279.99   None  None      {}  
1  Medium Size  Master Chef3  $279.99   None  None      {}  
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35628640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档