【问题标题】:How to set new index and remove default index in pandas df如何在 pandas df 中设置新索引和删除默认索引
【发布时间】:2017-07-25 15:20:58
【问题描述】:

我已在图片中附加了数据框。 在 df 中,subVoyageID 是默认索引,我试图删除 subvoyageID 旁边的空白行,以便所有列名在同一行中对齐,但我无法做到。

由于 subVoyageID 是默认索引,我将数据复制到新列“svid”并将索引重置为新列“svid”,(参见下面的代码和图片)

    df["SVID"] = df.index
    df.set_index('SVID')
    df

原始df

结果df

现在我如何摆脱作为默认索引的第一列,因为 df.info() 显示从 x-max 到 SVID 的 5 列;或者有没有其他方法可以将所有列标签对齐在一行中。感谢您的帮助。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    那是因为subVoyageID 不是一个,它是你的索引。只需使用reset_index() 使其成为实际列。

    示例

    >>> df
    
             a  b  c
    myindex         
    0        0  1  2
    1        3  4  5
    2        6  7  8
    
    >>> df.reset_index().rename(columns={df.index.name: 'not my index'})
    
       not my index  a  b  c
    0             0  0  1  2
    1             1  3  4  5
    2             2  6  7  8
    

    【讨论】:

      【解决方案2】:

      使用reset_index 将索引值转换为列,必要时使用rename 列:

      df = df.reset_index().rename(columns={'subVoyageID':'SVID'})
      

      【讨论】:

      • 如果我或其他答案有帮助,请不要忘记accept。谢谢。
      猜你喜欢
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      • 2020-10-14
      • 1970-01-01
      • 2020-03-07
      • 2013-09-08
      相关资源
      最近更新 更多