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

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对象。

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

最佳答案

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

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

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


请参见Indexing and Selecting Data以了解如何为数据框中的数据建立索引。

关于python - 比较两个数据框并得到一个错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50557670/

10-12 14:01
查看更多