如何解决如何使用包含条件:AttributeError:'str'对象没有属性'contains'
我喜欢循环并检查单元格是否包含“ Ac”或“ Vt字符串”
那是我的df
data={"col1":[2,3,4,5],"col2":[4,2,6],"col3":[7,6,9,11],"col4":[14,11,22,8],"name":["Acsd","Adgf","Vty","Acdf"],"multi":[1.4,2.5,1.6,2.2]}
df=pd.DataFrame.from_dict(data)
print(df)
我试试这个:
for count1,i in enumerate(df["col1"]):
if df.at[i,"name"].contains("Ac|Vt"):
print("good")
我得到那个错误
AttributeError:“ str”对象没有属性“包含”
我该如何使用包含方式?
解决方法
您可以避免完全使用for循环。
为什么不只使用df["name"].str.contains("Ac|Vt")
?
您也可以将结果添加为单独的列:
df.loc[df["name"].str.contains("Ac|Vt"),"status"] = "good"
,
让我们尝试使用DataFrame.iterrows
,
for _,j in df.iterrows():
if "Ac" in j['name'] or "Vt" in j['name']:
print('Good')
,
无需循环执行。
df.loc[(df.name.str.contains('Ac')|df.name.str.contains('Vt'))]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。