当将arff加载到Python中时,出现了字母数据。

4

我用以下代码将一个arff文件加载到Python中:

import pandas as pd, scipy as sp
from scipy.io import arff
datos,meta = arff.loadarff(open('selectividad.arff', 'r'))
d = pd.DataFrame(datos)

当我使用head函数查看数据框时,它的样子如下所示: enter image description here 然而,在arff文件中并没有这些“b”,正如我们可以在下面看到的那样: https://gyazo.com/3123aa4c7007cb4d6f99241b1fc41bcb 问题出在哪里?非常感谢。

1
那些 b 是 Python 显示 bytes 数组的方式,不是数据的一部分。 - tdelaney
4
这些 b 表示你正在处理一个字节字符串,它实际上是一个八位字节序列,其中包含 ASCII 字符。你可以使用.decode("utf-8") 来解码它们。 - Jean Rostan
1个回答

10

对于一列数据,请应用以下代码:

data['name_column'] = data['name_column'].str.decode('utf-8') 

对于一个数据框,应用:

str_df = df.select_dtypes([object])
str_df = str_df.stack().str.decode('utf-8').unstack()

欢迎来到 Stack Overflow。请在答案中添加解释,它是如何解决问题的?谢谢。 - Elletlar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接