Pandas两行有相同的索引,如何更改它们

时间:2016-06-02 15:49:41

标签: python pandas indexing dataframe append

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

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

2 个答案:

答案 0 :(得分:4)

在附加后,您似乎需要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

答案 1 :(得分:0)

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

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