微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pandas DataFrame 查询 Python

如何解决Pandas DataFrame 查询 Python

我正在尝试查询数据框的值。我的数据由 6 列 G-p1、G-p2、G-c、H-p1、H-p2、H-c 组成。所有列的值都是“左”或“右”,因为它们代表父母/孩子是左手还是右手基因型或惯用手。我想查询父母和孩子的惯用手的值。我试过了:

test1 = pd.DataFrame(data)
test1 = test1.query({
        'H-p1': 'left','H-p2': 'left','H-c': 'left'})
train_data = test1
predict_data = test1
model.fit(test1)
predict_data = predict_data.copy()
predict_data.drop('H-p1',axis=1,inplace=True)
predict_data.drop('H-p2',inplace=True)
predict_data.drop('H-c',inplace=True)
pred = model.predict_probability(predict_data)
print(pred.to_string())

但我收到此错误

ValueError: expr must be a string to be evaluated,<class 'dict'> given

有什么建议吗?谢谢!

解决方法

query 方法接收一个类似于您将用于 loc 过滤器的字符串表达式。

试试这个:

test1 = test1.query("`H-p1` == 'left' and `H-p2` == 'left' and `H-c` == 'left'")
train_data = test1

反引号 `` 用于指定列名。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。