当我使用以下代码加载arff文件时:
from scipy.io import arff
import pandas as pd
data = arff.loadarff('cleveland-76.arff')
df = pd.DataFrame(data[0])我得到了以下输出,其中名义属性前面有一个'b‘字母
df.head()

有人知道为什么会发生这种情况吗?
发布于 2021-01-16 05:31:36
b‘代表字节。它是字节格式的,所以b'4实际上是二进制代码的100。您可以重新设置列的格式。
发布于 2021-01-16 06:01:49
看起来您的整型列是作为字节字符串读取的。您可以使用以下命令尝试转换为int:
import pandas as pd
for col in df:
if pd.api.types.is_object_dtype(df[col]):
try:
df[col] = df[col].astype(int)
except ValueError:
pass发布于 2021-01-16 22:57:06
感谢大家的帮助,我原以为这是一个错误,现在我知道它只是为了表明该列的值是对象类型(这是我的数据的情况)
https://stackoverflow.com/questions/65743699
复制相似问题