比较两个数据框并收到错误

时间:2018-05-28 00:18:06

标签: python python-3.x pandas dataframe

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

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']

并收到以下错误:

只能比较带有相同标签的系列对象。

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

1 个答案:

答案 0 :(得分:1)

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

要解决这些问题,您可以重新索引其中一个系列,并使用df[col]创建新系列:

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

请参阅Indexing and Selecting Data以了解如何在数据框中索引数据。