如何修复AttributeError:“list”属性在listEncriptions中没有属性“astype”?

2024-06-16 08:48:59 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上,我尝试在列表理解中使用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']是一个对象数据类型。losdata是一个数据帧。 我所期望的是,对于losdata['Crime\u Type']中的每个对象,我应该能够在列表理解中使用contains()。我见过这样的解决办法

df[df['A'].str.contains('a')==True]

“A”只是任何列名。 但我还没想好怎么解决这个问题。你知道吗


Tags: 对象方法in密码df列表fortype
1条回答
网友
1楼 · 发布于 2024-06-16 08:48:59

我找到了另一种编码方法。你知道吗

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())

它的工作,但仍在等待更有效的方法。你知道吗

相关问题 更多 >