【问题标题】: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