python - 使用比较运算符根据条件(列)选择行 >
问题描述
在发现 python 时,我发现自己一直在尝试根据列的值(宏观营养)选择行(食品)。我的条件使用关系运算,输出不正确。(特别是 > 或 < 运算符没有 == 运算符的问题)。
data.loc[data['protein']=='10']
我的代码示例的结果
结果是正确的,因为所有行(食品)似乎都有一个值为 10 的蛋白质。
data.loc[data['protein']>'10']
我的代码示例的结果
结果不正确,因为所有行都有一个不符合给定条件的值(您有蛋白质 < 10 的行,就像您有蛋白质 >10 的行一样)。
data.loc[data['protein']>'10']
对这个问题有什么想法吗?你认为它与文件格式有关吗(见下面的代码示例)?如果是这样,我该如何解决这个问题?
data = pd.read_excel('Documents/test.xlsx',names=col_names,usecols="D,E,F,G,H,J,M,N,P,Q,R,T,Y,Z,AA", index_col =[3]).
提前致谢,节日快乐!!
[编辑]
所以做了更多的挖掘,确实我在比较两个不同的东西。@Daniel Mesejo 蛋白质的类型是对象。由于我希望将蛋白质列设为浮点格式,因此我决定先将其转换为字符串,然后再转换为浮点数。不幸的是,使用 将其转换为字符串.astype(str)
不起作用
解决方案
用于data['protein'] = data['protein'].astype('int64')
将字符串转换为整数,然后重试您正在执行的操作。
推荐阅读
- android - Android - 自定义视图文本颜色选择器
- python - 在 Python 中绘制 GADM shapefile
- sql-server - SQL Server Reporting Services 中是否存在字体层次结构?
- mysql - MySQL 过程 / MySQL 函数
- android - 即使手机被锁定/睡眠也能保持应用程序工作 - Ionic4
- c# - 如何在 Entity Framework Core 3.1 中替换 ObjectContext
- biztalk - 创建单例时,为什么会重复单例内的范围?
- c# - 为保存的 XML 文档生成内存路径并提供给 AJAX 以显示
- python-3.x - 复制 Pyinstaller 的许可证依赖项
- api - 如何从 newman 的集合中运行单个请求