python - 比较两个数据框并得到错误
问题描述
我有两个不同的数据框和一个相似的列。我正在尝试在以下数据中应用条件语句。
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)
请参阅索引和选择数据以了解如何索引数据框中的数据。
推荐阅读
- python - 如何实现 Python 代码来解决二次规划?
- sql - SQL 累积不重复计数
- docker - 禁用谷歌云注册表的 docker config.json 凭据
- c - 如何在不存储到变量中的情况下针对多个值测试函数的返回值
- java - 如何检查继承链中是否存在特定的类类型
- python - 尝试从 excel 文件中读取和求和列时出现 ValueError
- c# - 在 Docker 中使用 EF Core 对 SQLite DB 的每个查询都非常慢,除非显式调用 OpenConnection
- sql - SQL 问题:返回 2020 年 1 月发送的每个活动的电子邮件发送次数
- javascript - 如果没有加载,如何不显示任何内容
- wxpython - 将条形码扫描仪与 WX python 应用程序一起使用