我有一个.txt文件,其中有文本标题和数字数据。我正在使用python 2.7,并且在工作中使用了pandas和numpy。该文件的结构如下图所示:
可以从here获取该文件的数据。在此文件中,我想获取所有标签的列表。例如,在上面显示的图片中,我希望列表如下所示:
std::ostream& operator<<(std::ostream& out,const A& a)
{
out<<"Hello, I'm object A\n";
return out;
}
目前,我正在使用以下文件读取文件:
[Tag1, Tag1, Tag1, Tag5, Tag5, Tag6, Tag6]
当我尝试df = pd.read_csv('dum.txt',sep='\t', header=[0,1], index_col=0)
时,我得到lst = df.columns.levels[1]
而不是我想要的列表。
如何获取问题列表中的标签列表,即Index([u'Tag1', u'Tag5', u'Tag6'], dtype='object', name=u'Tag')
?预先感谢。
答案 0 :(得分:2)
您可以使用get_level_values(1)
代替levels[1]
,然后使用tolist()
转换为列表:
>>> df.columns.get_level_values(1).tolist()
['Tag1', 'Tag1', 'Tag1', 'Tag5', 'Tag5', 'Tag6', 'Tag6']
原因是levels[1]
会为您提供所有唯一级别的列表,而get_level_values
实际上会返回:
所请求级别的标签值的返回向量,等于索引的长度