![](/img/trans.png)
[英]How to convert a column with object dtype to float in a pandas dataframe?
[英]Pandas column dtype is object but python thinks it is float
我读到这样的 csv
df = pd.read_csv(self.file_path, dtype=str)
然后我试试这个:
df = df[df["MY_COLUMN"].apply(lambda x: x.isnumeric())]
我得到一个属性错误:
AttributeError: 'float' object 没有属性 'isnumeric'
为什么会这样? 该列主要包含数字。
我想过滤掉没有数字的那些。
这个问题不是如何实现或做得更好,而是为什么我在这里得到一个AttributeError
?
为什么会这样?
我认为因为如果使用dtype=str
, NaN 不会转换为string
,仍然缺少值,所以type=float
使用Series.str.isnumeric
处理带有缺失值的isnumeric
,例如 pandas 中的所有文本函数:
df[df["MY_COLUMN"].str.isnumeric()]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.