在我的数据中,有一堆行,其中包含我想要替换的字符串格式" - "
的奇怪值。
当我在jupyter中运行以下代码时:
df['Block Hours'][df['Block Hours'] == " - "].count()
我得到59行的输出,我期待。
然而,当我尝试做以下事情时:
df['Block Hours'].str.replace(" - ", "0.0").count()
我收到超过40,000行不正确。
关于最新版本的pandas,我也尝试制作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")
答案 0 :(得分:1)
df['Block Hours'].str.replace(" - ", "0.0")
再次为您提供整列,而不仅仅是替换了字符串的列,因此它会与您期望的不同。更换后尝试对列进行过滤?
答案 1 :(得分:0)
试试这个:
df['Block Hours'].replace(" - ", "0.0", regex=True).count()