在我的数据中,有一堆行以字符串格式的" - "
奇怪值我要替换。
当我在jupyter中运行以下代码时:
df['Block Hours'][df['Block Hours'] == " - "].count()
我得到59行的输出,我期待。
但是,当我尝试执行以下操作时:
df['Block Hours'].str.replace(" - ", "0.0").count()
我得到超过40,000行是不正确的。
我正在使用最新版本的熊猫,并试图制作regex=False
,但结果是一样的。
df['Block Hours'].str.replace(" - ", "0.0", regex=False).count()
更新:
对于其他来这里遇到类似问题的人。基本上,我的数据类型是Object而不是字符串。我假设所有数据类型'O'基本上都是字符串,这是不正确的。以下代码对我有用:
df['Block Hours'] = df['Block Hours'].astype(str).str.replace(" - ", "0.0")
df['Block Hours'].str.replace(" - ", "0.0")
再次为您提供整个列,而不仅仅是替换了字符串的列,因此它将与您期望的不同。更换后尝试对列进行过滤?
试试这个 :
df['Block Hours'].replace(" - ", "0.0", regex=True).count()