【发布时间】:2017-02-01 00:28:58
【问题描述】:
我收到一条错误消息,提示“ValueError:只能比较标签相同的 Series 对象”。据我所知,我正在比较两个系列对象而不是它们内部的值。然而,我认为series[column] 给了你内在的价值。有人可以详细说明一下吗?我真的被困在哪里可以找到这些信息,并且很乐意被指向正确的方向。 all_ages 和 recent_grads 是数据帧。
import pandas as pd
majors = recent_grads['Major'].unique()
rg_lower_count = 0
for x in majors:
aa_major = all_ages[all_ages['Major'] == x]
rg_major = recent_grads[recent_grads["Major"] == x]
if rg_major["Unemployment_rate"] < aa_major["Unemployment_rate"]:
rg_lower_count += 1
print(rg_lower_count)
【问题讨论】:
-
rg_major和aa_major必须具有不同的索引,这可能就是问题所在。在比较之前,您可能必须在aa_major和rg_major上应用.reset_index。此外,您可能必须在此处修复缩进。if-statement可能需要在for-loop内。 -
@Abdou 谢谢你修复了缩进。当我做
.reset_index时,它不适合我,但我会更多地使用它,看看我是否能让它工作。感谢您的反馈。 -
我用这段代码玩了更多,if语句有两种工作方式:
if float(series[column]) < float(series[column]):和if series[column].item() < series[column].item()。
标签: python pandas compare series