gpt4 book ai didi

python - 将 DataFrame.query() 与 pandas.Series.str.contains 一起使用会得到 AttributeError : 'dict' object has no attribute 'append'

转载 作者:太空宇宙 更新时间:2023-11-03 11:58:02 24 4
gpt4 key购买 nike

我使用 str.contains() 创建了两个查询字符串,并将它们合并,然后将其传递给 DataFrame.query()

I get an AttributeError: 'dict' object has no attribute 'append'.

删除 regex=False 参数效果很好,但我的数据包含一些 '/*'。所以我需要这个参数来将我的数据视为文字字符串。

import pandas as pd

df = pd.DataFrame({'city': ['osaka', ], 'food': ['apple', ],})

querystr1 = 'osaka'
querystr2 = 'apple'

querystr1 = "city.str.contains('" + querystr1 + "', regex=False)"
querystr2 = "food.str.contains('" + querystr2 + "', regex=False)"
querystr = querystr1 + ' & ' + querystr2
print(querystr)

value = df.query(querystr, engine='python').index.values.astype(int)

print(value)
print(value.size)

如何查询不识别正则表达式的数据框?有没有更聪明的方法来做到这一点?

最佳答案

我不是专家,但删除 regex=False 部分对我有用:

import pandas as pd

df = pd.DataFrame({'city': ['osaka', ], 'food': ['apple', ],})

querystr1 = 'osaka'
querystr2 = 'apple'

querystr1 = "city.str.contains('" + querystr1 + "')"
querystr2 = "food.str.contains('" + querystr2 + "')"
querystr = querystr1 + ' & ' + querystr2
print(querystr)

value = df.query(querystr, engine='python').index.values.astype(int)

关于python - 将 DataFrame.query() 与 pandas.Series.str.contains 一起使用会得到 AttributeError : 'dict' object has no attribute 'append' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57287204/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com