首页 > 解决方案 > 比较两个数据框并得到错误

问题描述

我有两个不同的数据框和一个相似的列。我正在尝试在以下数据中应用条件语句。

df

 a          b

 1          5
 2          4
 3          5.5
 4          4.2  
 5          3.1

df1

 a          c

 1          9
 2          3
 3          5.1
 4          4.8  
 5          3

我正在写下面的代码

df.loc['comparison'] = df['b'] > df1['c']

并得到以下错误:

只能比较具有相同标签的 Series 对象。

请告知我该如何解决这个问题。

标签: pythonpython-3.xpandasdataframe

解决方案


您的数据框索引(未显示在您的问题中)未对齐。此外,您正在尝试错误地添加列:pd.DataFrame.loc使用一个索引器是指行索引而不是列。

为了克服这些问题,您可以重新索引您的一个系列并使用它df[col]来创建一个新系列:

df['comparison'] = df['b'] > df1['c'].reindex(df.index)

请参阅索引和选择数据以了解如何索引数据框中的数据。


推荐阅读