问题描述
from scipy.io import arff
import pandas as pd
data = arff.loadarff('cleveland-76.arff')
df = pd.DataFrame(data[0])
df.head()
有人知道为什么会这样吗?
解决方法
b' 代表字节。它是字节格式,所以 b'4 实际上是二进制代码的 100。您可以重新格式化列。
,看起来您的整数列被读取为字节字符串。您可以尝试使用以下方法转换为 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
,
谢谢大家的帮助,我还以为是错误,现在我知道只是表明列的值是对象类型(我的数据就是这种情况)