编程语言
首页 > 编程语言> > python-修复pandas DataFrame中的索引列

python-修复pandas DataFrame中的索引列

作者:互联网

我有一个带有以下数据的Pandas DataFrame(来自Jupyter Notebook的输出)

enter image description here

无论如何,我可以命名第一列吗?我无法访问它,因为它看起来像是行名列.

或者以其他方式提取第一个未修饰的列,并使用[‘accessions’]和[‘symbols’]创建一个新的数据框

解决方法:

pd.DataFrame.rename_axis

那是指数…
使用@JesseVogt的样本数据框df

df = pd.DataFrame(
    data={
         'asc': [['XM', 'NM', 'XM'], ['NM', 'XM'], ['NM', 'NM', 'NM'], ['NM']],
         'sym': [{'CP', 'BT', 'MF'}, {'BC', 'CP'}, {'NT', 'IF', 'NT5'}, {'BA'}],
     },
    index=[('A', 'A'), ('A', 'C'), ('A', 'G'), ('A', 'U')]
)

您可以重命名索引,并在显示时使其显示在索引上方

df.rename_axis('MyName')

                 asc            sym
MyName                             
(A, A)  [XM, NM, XM]   {MF, BT, CP}
(A, C)      [NM, XM]       {BC, CP}
(A, G)  [NM, NM, NM]  {NT, IF, NT5}
(A, U)          [NM]           {BA}

或者,您可以重置索引以将该信息正确放置到数据框中

df.rename_axis('MyName').reset_index()

   MyName           asc            sym
0  (A, A)  [XM, NM, XM]   {MF, BT, CP}
1  (A, C)      [NM, XM]       {BC, CP}
2  (A, G)  [NM, NM, NM]  {NT, IF, NT5}
3  (A, U)          [NM]           {BA}

标签:pandas,dataframe,bioinformatics,python
来源: https://codeday.me/bug/20191111/2020182.html