获取列具有特定值的行[重复]

Posted

技术标签:

【中文标题】获取列具有特定值的行[重复]【英文标题】:Getting rows where columns have certain values [duplicate] 【发布时间】:2018-05-09 13:24:06 【问题描述】:

我对 python 比较陌生,正在尝试获取列具有特定值的行。

这是我的代码示例

item=mydf[mydf["Item Name"]=="Pregabalin"]
type=mydf[mydf["type"]=="Pregabalin 300mg"]
mydf[item & Strength]

但是,当我运行它时,我得到了一个错误 TypeError: 输入类型不支持 ufunc 'bitwise_and',并且根据强制转换规则 ''safe'' 无法安全地将输入强制转换为任何支持的类型

有谁知道我为什么会收到此错误以及我可以做些什么来返回特定值? 任何帮助将不胜感激!

【问题讨论】:

【参考方案1】:

您可以对掩码使用“按位与”,如下所示:

item = mydf["Item Name"]=="Pregabalin"
typ = mydf["type"]=="Pregabalin 300mg"

mydf[item & typ]

或者简单地说(在以下情况下我们必须使用括号,因为Operator precedence rules):

mydf[(mydf["Item Name"]=="Pregabalin") & (mydf["type"]=="Pregabalin 300mg")]

【讨论】:

今天慢了一天... @cᴏʟᴅsᴘᴇᴇᴅ 谢谢!这很好用......我还有一个问题要问你如何用数字数据做到这一点; mydf[(mydf["Item Name"]=="Pregabalin") & (mydf["Quantity"]=="2.0")] 我收到此错误 TypeError: invalid type comparison when I use the above code @Katie 数量可能是一个浮点数。试试mydf['Quantity'] == 2.0 @cᴏʟᴅsᴘᴇᴇᴅ 非常感谢!!

以上是关于获取列具有特定值的行[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在特定列中添加具有相同字符串值的行,并且不转换数据框? [重复]

计算其中的行数以找到特定值的行数[重复]

Pandas:如何根据特定列上特定值的条件选择数据框中的行[重复]

Django为特定外键选择具有重复字段值的行

删除熊猫数据框中具有特定值的行[重复]

VBA比较两个列表并删除不同列中具有重复值的行