如何从Pandas DataFrame中的行中提取Word

时间:2018-05-05 07:52:46

标签: pandas

如果我有列名称类别,并且我有像Plane Travel | Train Travel | Bus Travel这样的行,那么如何在pandas Dataframe中提取Plane Travel

2 个答案:

答案 0 :(得分:0)

您需要使用.str访问者,然后使用.split()字符串,然后将结果放入单独的列中。

让我们生成正确的DataFrame:

df = pd.DataFrame({"Category":["Plane France", "Train Russia", "Spacecraft Moon"],
                   "other_variable":[1,2,3] })
print df

       Category  other_variable
0  Plane France               1
1  Train Russia               2
2  Spacecraft Moon            3

您现在可以使用.str访问者访问字符串(请查看Pandas doc)并将其拆分。

df["category_list"] = df.Category.str.split(" ") # you can replace " " with any   
                                                 # other word delimiter

然后您必须将列表中的每个元素归结为新列

df[["transportation", "destination"]] = pd.DataFrame(df.category_list.values.tolist(), 
                                                     index = df.index)

给出了

          Category  other_variable       category_list transportation  \
0     Plane France               1     [Plane, France]          Plane   
1     Train Russia               2     [Train, Russia]          Train   
2  Spacecraft Moon               3  [Spacecraft, Moon]     Spacecraft   

  destination  
0      France  
1      Russia  
2        Moon  

现在您的交通工具已成为目的地栏目。

答案 1 :(得分:0)

您可以使用pandas中的TextUtils.isEmpty(string) || TextUtils.isEmpty(string1)|| TextUtils.isEmpty(string2)直接提取第一个值。

.str