How do I fix AttributeError: "list" attribute has no attribute 'astype' in list-comprehensions?
How do I fix AttributeError: "list" attribute has no attribute 'astype' in list-comprehensions?
基本上我试图在列表推导中使用 contains 方法。但是我在这样做时遇到了问题。
我已经尝试使用
[x.apply(', '.join).str.contains('|'.join(searchfor)) for x in losdata["Crime_Type"] ]
在代码中。它不起作用。
searchfor = ["BURGALORY","ROBBERY","THEFT","STOLEN",
"SNATCHING","STEALING","FELONY","PICKPOCKET","BUNCO","EMBEZZLEMENT"]
losdata["Crime_Type"] = ["Burglary" if(x.astype(str).str.contains('|'.join(searchfor)))
else "TBC"
for x in losdata["Crime_Type"]
]
print(losdata.head())
losdata['Crime_Type'] 是一个 object 数据类型。 losdata 是一个 pandas 数据框。
我期望的是,对于 losdata['Crime_Type'] 中的每个对象,我应该能够在列表理解中使用 contains()。我见过像
这样的解决方案
df[df['A'].str.contains('a')==True]
'A' 只是任何列名。
但是我还没有想出如何解决我的问题。
我找到了另一种编码方式。
losdata["Crime_Type"] = ["BURGLARY" if(x.find("BURGALORY")>0 or x.find("ROBBERY")>0 or x.find("THEFT")>0 or x.find("STOLEN")>0 or x.find("SNATCHING")>0 or x.find("STEALING")>0)
else "OTHER"
for x in losdata['Crime_Type']
]
print(losdata.head())
它有效,但仍在等待更有效的方法。
基本上我试图在列表推导中使用 contains 方法。但是我在这样做时遇到了问题。
我已经尝试使用
[x.apply(', '.join).str.contains('|'.join(searchfor)) for x in losdata["Crime_Type"] ]
在代码中。它不起作用。
searchfor = ["BURGALORY","ROBBERY","THEFT","STOLEN",
"SNATCHING","STEALING","FELONY","PICKPOCKET","BUNCO","EMBEZZLEMENT"]
losdata["Crime_Type"] = ["Burglary" if(x.astype(str).str.contains('|'.join(searchfor)))
else "TBC"
for x in losdata["Crime_Type"]
]
print(losdata.head())
losdata['Crime_Type'] 是一个 object 数据类型。 losdata 是一个 pandas 数据框。 我期望的是,对于 losdata['Crime_Type'] 中的每个对象,我应该能够在列表理解中使用 contains()。我见过像
这样的解决方案df[df['A'].str.contains('a')==True]
'A' 只是任何列名。 但是我还没有想出如何解决我的问题。
我找到了另一种编码方式。
losdata["Crime_Type"] = ["BURGLARY" if(x.find("BURGALORY")>0 or x.find("ROBBERY")>0 or x.find("THEFT")>0 or x.find("STOLEN")>0 or x.find("SNATCHING")>0 or x.find("STEALING")>0)
else "OTHER"
for x in losdata['Crime_Type']
]
print(losdata.head())
它有效,但仍在等待更有效的方法。