【问题标题】:Pandas two rows have the same index, how to change them熊猫两行具有相同的索引,如何更改它们
【发布时间】:2016-10-02 11:17:27
【问题描述】:

python新手在这里。 我需要将 Provider 2 中的一行添加到 Provider 1,进行一些计算,保存结果并删除最后一行。同样,将 Provider 2 中的另一行添加到 Provider 1,依此类推。我正在为此目的构建一个循环,并且我有附加的逻辑。我的问题是提供者 1 和提供者 2 数据帧的索引都从 0 开始。因此,一旦执行下面的附加语句,我的提供者 1 就有两行索引为 0。如何重新索引?我查看了 pandas df.reindex 但这没有帮助。我想重新索引,以便可以删除 provider1 中的最后一行(所以它又是原始数据帧)。任何帮助/指针将不胜感激!

Provider1=Provider1.append(Provider2[:0])

【问题讨论】:

    标签: python pandas indexing dataframe append


    【解决方案1】:

    您可以将 ignore_index=True 传递给 append() 以避免这种情况:

    Provider1=Provider1.append(Provider2[:0], ignore_index=True)
    

    【讨论】:

      【解决方案2】:

      看起来你需要 reset_index 和参数 drop=True 后追加:

      Provider1 = Provider1.reset_index(drop=True)
      Provider2 = Provider2.reset_index(drop=True)
      

      示例:

      import pandas as pd
      
      df = pd.DataFrame({'a':[1,2,3] }, index=[0,1,0])
      print (df)
         a
      0  1
      1  2
      0  3
      
      df = df.reset_index(drop=True)
      print (df)
         a
      0  1
      1  2
      2  3
      

      【讨论】:

        猜你喜欢
        • 2017-01-31
        • 1970-01-01
        • 2018-12-25
        • 1970-01-01
        • 2020-11-27
        • 1970-01-01
        • 2018-07-17
        • 2023-03-24
        • 1970-01-01
        相关资源
        最近更新 更多