假设一个dataframe的索引如下:
df = pd.DataFrame(np.array([[1,2,3,4],[4,5,6,1],['A','B','C','A'],['a','b','a','b']]).T,columns=['d1','d2','type','subtype'])
df.set_index(['type', 'subtype','d1']).unstack('d1')
^{pr2}$
我确实使用数据帧的值进行一些分析(例如PCA)。之后,我想绘制结果并根据索引命名点。我知道行名的信息是由多重索引中的级别和标签提供的。我如何制作一个列表,列出每个样本的名称(例如[Aa'、'Ab'、'Bb'、'Ca'])?在
我真的必须这么做吗?公司名称:
l1 = df.index.get_level_values(0).values.tolist()
l2 = df.index.get_level_values(1).values.tolist()
[i1 + i2 for i1, i2 in zip(l1,l2)]
这就产生了我:
['Aa', 'Ab', 'Bb', 'Ca']
还是有更优雅的解决方案?在
您可以使用
map
:或列表理解:
^{pr2}$带^{} 的解决方案:
相关问题 更多 >
编程相关推荐