2016-02-26 78 views
1

我试图匹配了数据帧列1值的字符串值的基础上,匹配我供给第2列的值到我还使用在计算中的变量:蟒大熊猫 - 字符串匹配

#Val is a string 
NewVal = df.loc[df['col1']== Val]['col2'].values 

即使匹配存在,上面返回一个空值..我明白可能会有一个数据类型不匹配,因为变量val是一个字符串和df['col1']是一个对象数据类型,有无论如何将列转换为字符串? (我试过df..astype(str)df.astype(basestring)

我能做些什么要成功匹配这些字符串?

回答

1

你应该熊猫字符串函数经过...

http://pandas.pydata.org/pandas-docs/stable/text.html

使用contains方法(甚至需要定期表达)。类似这样的:

toUse = df['col1'].str.contains(Val) 
valsIwant = df['col2'][toUse] 

您还会在该网站中找到很多不错的字符串方法。