【问题标题】:Letter appeared in data when arff loaded into Python将 arff 加载到 Python 中时数据中出现字母
【发布时间】:2018-09-23 04:34:07
【问题描述】:

我已使用此代码将 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 函数查看数据框时,它是这样的:

但是,arff 文件中不存在那些“b”,如下所示: https://gyazo.com/3123aa4c7007cb4d6f99241b1fc41bcb 这里有什么问题?非常感谢

【问题讨论】:

  • 那些b是python显示bytes数组的方式,不是数据的一部分。
  • 那些b 表示您正在处理一个字节字符串,从字面上看是一个八位字节序列,它们是 ASCII 字符。例如,您可以使用.decode("utf-8") 对它们进行解码。

标签: python pandas weka arff


【解决方案1】:

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

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

对于数据框,应用: str_df = df.select_dtypes([np.object]) str_df = str_df.stack().str.decode('utf-8').unstack()

【讨论】:

  • 欢迎来到 Stack Overflow。请在答案中添加解释。它是如何解决问题的?问候。
猜你喜欢
  • 2018-08-06
  • 2012-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-12
相关资源
最近更新 更多