如何解决就地替换适用于对象,但不适用于字符串dtype
对象dtype上的替换方法产生的结果与字符串dtype上的结果不同。我期待着同样的结果。我正在Python 3.8.5上运行Pandas 1.1.0。
import pandas as pd
import numpy as np
a = pd.DataFrame({'a':['a','b','c'],'b':['d','','']},dtype='object')
b = pd.DataFrame({'a':['a',dtype='string')
print(a)
a.replace(r'^\s*$',pd.NA,regex=True,inplace=True)
print(a)
print(b)
b.replace(r'^\s*$',inplace=True)
print(b)
a b
0 a d
1 b
2 c
a b
0 a d
1 b <NA>
2 c <NA>
a b
0 a d
1 b
2 c
a b
0 a d
1 b
2 c
解决方法
这是一个已确认的错误。参见https://github.com/pandas-dev/pandas/issues/35977
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。