将来自一个 Pandas DataFrame 的索引与不同 Pandas DataFrame 中的不同索引合并

时间:2021-02-01 18:57:56

标签: python pandas dataframe

这里是熊猫新手,所以这可能是一个相当基本且简单的问题。

我想将一个 DataFrame 中的一个索引中的数据合并到另一个 DataFrame 中的另一个索引中。

在下面的示例中,我将数据拆分为已验证索引的 DataFrame (MainTable) 和错误索引的 DataFrame (ErrorTable)。

在手动查看 ErrorTable 中的错误条目后,我希望能够合并来自 ErrorTable 的“Cta”和“ Mice' 条目到 MainTable 的 'Cat' 和 'Mouse' 条目。

import pandas as pd
RawData = pd.DataFrame({'Number sighted today':[4, 3, 1, 2, 8, 3],
                        'Number sighted yesterday':[5, 1, 0, 2, 1, 0]},
                       index = ['Dog', 'Cat', 'Cta', 'Mouse', 'Ant', 'Mice'])

AllowedIndexes = ['Dog','Cat','Mouse','Ant']

MainTable = RawData[RawData.index.isin(AllowedIndexes) == True]
ErrorTable = RawData[RawData.index.isin(AllowedIndexes) == False]

MainTable and ErrorTable image



我试过了:

MainTable.loc['Cat'] = MainTable.loc['Cat'] + ErrorTable.loc['Cta']
MainTable.loc['Mouse'] = MainTable.loc['Mouse'] + ErrorTable.loc['Mice']

虽然它在技术上有效,但它不断抛出一条警告消息,指出我做错了一些我一直无法理解的事情,所以我认为必须有一种更稳定的方法来做到这一点。

Error Message image

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您的意思是按元素添加,则可能如下所示:

MainTable.loc['Mouse', :] += ErrorTable.loc['Mice', :]
MainTable.loc['Cat', :] += ErrorTable.loc['Cta', :]

>>> MainTable
       Number sighted today  Number sighted yesterday
Dog                       4                         5
Cat                       4                         1
Mouse                     5                         2
Ant                       8                         1
相关问题