获取列具有特定值的行[重复]
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ᴘᴇᴇᴅ 非常感谢!!以上是关于获取列具有特定值的行[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在特定列中添加具有相同字符串值的行,并且不转换数据框? [重复]