我有一个这样的数据帧:
Postcode Country
0 PR2 6AS United Kingdom
1 PR2 6AS United Kingdom
2 CF5 3EG United Kingdom
3 DG2 9FH United Kingdom
我创建了一个基于部分字符串匹配的新列:
^{pr2}$我希望通过“Postcode”上的部分字符串匹配来指定“In_Preston”列。我尝试以下方法:
mytestdf.loc[(mytestdf[mytestdf['Postcode'].str.contains("PR2")]), 'In_Preston'] = "TRUE"
但这将返回错误“无法将大小为3的序列复制到维数为2的数组轴”
我再次查看我的代码,认为问题是我从数据帧的一部分中选择了一部分数据帧。因此我改为
mytestdf.loc[(mytestdf['Postcode'].str.contains("PR2")]), 'In_Preston'] = "TRUE"
但是我的翻译告诉我这是不正确的语法,尽管我不明白为什么。在
我的代码或方法有什么错误?在
您需要移除内部过滤器:
另一个解决方案是使用^{} :
^{pr2}$但是如果想要指定布尔值
True
s和False
s:编辑人^{} :
如果只想检查
Postcode
的开头:或添加regex
^
作为字符串的开头:相关问题 更多 >
编程相关推荐