对具有df.replace
dtype的数据帧执行category
的最佳方法是什么。
假设我创建数据框:
df = pandas.DataFrame(
[
['a'], [' '], ['']
],
columns['x'],
dtype = 'category'
)
print(df.replace(r'^\s*$', numpy.nan, regex=True))
结果:
x
0 a
1
2
例如第1行和第2行中的值不会被替换(因为根据文档,只有字符串才能被替换)。
如果我删除了dtype = 'category'
-值将被替换为NaN。
我徘徊-用NaN替换所有列均为category
类型的整个数据框中的空白的最佳方法是什么?
是吗
for col in df.columns:
df[col] = df[col].str.replace(r'^\s*$', numpy.nan, regex=True)
答案 0 :(得分:1)
重命名类别是通过将新值分配给 Series.cat.categories属性或通过使用rename_categories() 方法
但是
类别也不能为NaN或引发ValueError
答案 1 :(得分:0)
如果空格的数量是固定的,您也可以选择
df[df == ' '] = numpy.nan