在python中匹配索引以对列

时间:2015-11-21 16:57:53

标签: python match dataframe

我在长度为1083的数据框中有一列,有143个唯一值。为了说明我的问题,其中6个是:

  1. 面包店
  2. 医院
  3. 酒店
  4. 牙医
  5. 大学
  6. restaurant
  7. 我创建了另一个数据帧,2x1。第一列包含143个唯一值,第二列包含我希望每个值分类的内容。例如:

     1. bakery       commercial
     2. hospital     commerical
     3. hotel        hospitality
     4. dentist      commercial
     5. university   education
     6. restaurant   hospitality
    

    我想知道如何在原始df中创建一个新列,匹配索引,以便对于列'=面包店'中的任何条目,在新列中将是“商业”。

2 个答案:

答案 0 :(得分:0)

您可以在程序中的某处使用字典...每当您尝试创建新列时,请参考它...

categories = {"bakery" : "commercial", ... }

然后在需要提取相应值时调用字典:

categories["bakery"] # will return "commercial"

答案 1 :(得分:0)

您可以使用merge并执行以下操作:

import pandas as pd
df = pd.merge(  left=firstDataFrame, right=secondDataFrame, on='NameOfColumnContainingBakery...')

on=''中的列名在两个数据帧中都必须相同。

这会将两个数据框合并为一个数据框,其中包含您所描述的其他列。

我希望这会有所帮助。