python - 比较两个数据帧并出现错误

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

并出现以下错误:

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

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

最佳答案

您的数据框索引(未显示在您的问题中)未对齐。此外,您尝试错误地添加一列: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/

相关文章:

当 ldap.OPT_X_TLS_REQUIRE_CERT 设置为 ldap.OPT_X_TLS_NEVER 时出现 Python LDAP TLS 错误

Python - 如何让 "\n"显示出来?

Python:PyCurl 设置 URL 异常

python - Hyperopt 中的 qloguniform 搜索空间设置问题

python - 求解参数数组的 ODE (Python)

python - 如何获取数组的用户输入?

Python 页面倒计时打印 (len(elem_href1-(number)))

python - 如何在python中将不同的excel文件合并到一个具有不同工作表名称的工作簿中

python - 如何将 pd.apply 与我自己的带有 1 个输入参数的自定义函数一起使用

python - 生成 pandas Series 或 DataFrame 中的组组合