我正在使用来自http://archive.ics.uci的ecoli数据集。 EDU /毫升/数据集/大肠杆菌。值由制表符分隔。我想索引每一列并给它们一个名字。但是,当我使用以下代码执行此操作时:
import pandas as pd
ecoli_cols= ['N_ecoli', 'info1', 'info2', 'info3', 'info4','info5','info6,'info7','type']
d= pd.read_table('ecoli.csv',sep= ' ',header = None, names= ecoli_cols)
不是为每个索引创建名称,而是创建6个新列。但我想为我已经拥有的每个列都有这些索引名称。后来我想从这个数据集中提取信息。因此,将它们作为逗号分隔或在表格中使用非常重要。感谢
答案 0 :(得分:1)
您可以将url
与数据和分隔符\s+
一起使用 - 一个或多个空格:
url = 'http://archive.ics.uci.edu/ml/machine-learning-databases/ecoli/ecoli.data'
ecoli_cols= ['N_ecoli', 'info1', 'info2', 'info3', 'info4','info5','info6','info7','type']
df = pd.read_table(url,sep= '\s+',header = None, names= ecoli_cols)
#alternative use parameter delim_whitespace
#df = pd.read_table(url, delim_whitespace= True, header = None, names = ecoli_cols)
print (df.head())
N_ecoli info1 info2 info3 info4 info5 info6 info7 type
0 AAT_ECOLI 0.49 0.29 0.48 0.5 0.56 0.24 0.35 cp
1 ACEA_ECOLI 0.07 0.40 0.48 0.5 0.54 0.35 0.44 cp
2 ACEK_ECOLI 0.56 0.40 0.48 0.5 0.49 0.37 0.46 cp
3 ACKA_ECOLI 0.59 0.49 0.48 0.5 0.52 0.45 0.36 cp
4 ADI_ECOLI 0.23 0.32 0.48 0.5 0.55 0.25 0.35 cp
但是如果想将你的文件与分隔符一起用作标签:
d = pd.read_table('ecoli.csv', sep='\t',header = None, names= ecoli_cols)
如果分隔符为;
:
d = pd.read_table('ecoli.csv', sep=';',header = None, names= ecoli_cols)