如何解决数据框中的列未拆分
我遇到了一个问题,当我对dataset.csv执行describe()
或head()
时,数据集输出显示其中没有列。而且我已经尝试使用split()
和strip()
,但仍然相同
这是我的代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import os
from sklearn import preprocessing
from sklearn.model_selection import train_test_split
import csv
directory = os.path.join('drive/My Drive/BCML/winequality-white.csv')
text_file = open(directory,"r")
lines = text_file.readlines()
line = line.strip(";")
line = line.strip()
parsed_values = []
for index,line in enumerate(lines):
split_columns = line.split(";")
if index == 0:
continue
parsed_values.append([float(split_columns[0]),float(split_columns[1]),float(split_columns[2]),float(split_columns[3]),float(split_columns[4]),float(split_columns[5]),float(split_columns[6]),float(split_columns[7]),float(split_columns[8]),float(split_columns[9]),float(split_columns[10]),int(split_columns[11])])
dataset = pd.read_csv(directory)
输出为:
其他:
我只需要针对这种情况使用该数据集。因此,我无法在Internet上搜索并替换为相同的数据集。当我使用Excel打开.csv文件时,其结构正常。而且我不知道为什么当我将split
循环中的for
更改为split_columns = line.split(",")
时,会出现此错误:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-16-fb83c4e7dfad> in <module>()
8 continue
9
---> 10 parsed_values.append([float(split_columns[0]),int(split_columns[11])])
11
12 print("Jumlah data (parsed) ",len(parsed_values))
ValueError: Could not convert string to float: '7;0.27;0.36;20.7;0.045;45;170;1.001;3;0.45;8.8;6\n'
我非常感谢我能获得的一切帮助
解决方法
好像您在csv文件中有一个自定义分隔符。您只需添加一个sep参数并将其设置为;像这样
dataset = pd.read_csv(directory,sep=";")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。