首页 > 解决方案 > 如何在 Pandas Dataframe 中仅打印具有特定浮点值的行

问题描述

我对 Python 没有太多经验,但我正在编写一个需要操作数据和删除/删除数百行代码的代码。我在 pandas 数据框中有我的数据,并且有一列中的大部分数据以数字 4.61 开头,在 1 之后带有随机数字。我试图仅打印在此列开头没有 4.61 的行。这是我目前所拥有的

remove_foursixone = df.loc[df[' Conductance (G0) '] != str.startswith('4.61')]

print(remove_foursixone)

但它不起作用,因为str.startswith需要一个字符串类型,但我正在使用浮点数。我尝试使用将电导列中的数据转换为字符串类型

df[' Conductance (G0) '] = df[' Conductance (G0) '].astype(str)

但这会返回dtype('O')并且仍然不允许我使用该str.startswith()功能。任何有关解决此问题的最佳方法的建议将不胜感激。

标签: pythonpandasdataframe

解决方案


试试这个:

df[(df[col_name] < 4.61) | (df[col_name] >= 4.62)]

这样您就可以排除 range 中的所有值[4.61; 4.62[


推荐阅读