数据集中只有一个索引标签

时间:2017-11-09 11:07:27

标签: python pandas

我正在使用来自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个新列。但我想为我已经拥有的每个列都有这些索引名称。后来我想从这个数据集中提取信息。因此,将它们作为逗号分隔或在表格中使用非常重要。感谢

1 个答案:

答案 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)