【发布时间】:2023-03-12 19:48:01
【问题描述】:
假设我有一个相当简单的代码,例如
import pandas
df_import=pandas.read_excel("dataframe.xlsx")
df_import['Company'].str.contains('value',na=False,case=False)
所以这显然会导入 pandas,从 excel 文档创建一个数据框,然后在标题为 Company 的列中搜索某个值,并返回一个索引,说明该单元格的值是否包含该值(真或假)
但是,我想测试 3 个案例。案例 A,未找到结果(全部为 False),案例 2,仅找到 1 个案例(仅 1 个为真),案例 3,找到超过 1 个结果(True > 1)。
我的想法是我可以设置一个 for 循环,遍历列,如果一个单元格的值为 True,我将 1 添加到一个变量(我们称之为计数)。然后在最后,我有一个基于count的值的if/elif/elif语句,不管是0,1,还是>1。
现在,也许有更好的方法来检查这个,但如果没有,我认为 for 循环看起来像
for i in range (len(df_improt.index))
if df_import.iloc[i,0].str.contains('value',na=False,case=False)
count += 1
首先,我不确定是否应该使用 .iloc 或 .iat,但两者都会给我错误
AttributeError: 'str' 对象没有属性 'str'
我无法找到对此的更正。
【问题讨论】: