如何将未命名的列设置为索引?

时间:2017-09-01 11:46:25

标签: python-3.x pandas indexing

在我发现的所有示例中,通常需要列名称将其设置为索引

我想知道是否可以将空标头设置为索引,而不是进入excel添加列标题。该列包含我想要包含的所有值,但缺少列名:

enter image description here

我的脚本目前是:

import pandas as pd
data = pd.read_csv('file.csv')
data

4 个答案:

答案 0 :(得分:5)

您也可以只使用iloc选择ID列:

data = data.set_index(data.iloc[:, 0])

或者当您致电pd.read_csv()时,请指定index_col

data = pd.read_csv('path.csv', index_col=0)

答案 1 :(得分:1)

您无需重命名excel中的第一列。在熊猫中也很容易:

new_columns = data.columns.values
new_columns[0] = 'Month'
data.columns = new_columns

之后,您可以设置索引:

data = data.set_index('Month')

答案 2 :(得分:0)

当我遇到缺少名称的列时,Pandas总是将它们命名为'Unnamed:n',其中n = ColumnNumber-1。即第一列的“未命名:0”,第二列的“未命名:1”。所以我认为在您的情况下,以下代码应该是有用的:

# set your column as the dataframe index
data.index = data['Unnamed: 0']
# now delete the column
data.drop('Unnamed: 0', axis=1, inplace=True)
# also delete the index name which was 'Unnamed: 0' obviously
del data.index.name 

答案 3 :(得分:0)

您可以执行以下操作:

import pandas as pd
data = pd.read_csv('file.csv',index_col=0)
data