如何比较系列中的两个值,而不是系列对象? Python 3.x

时间:2017-02-01 00:28:58

标签: python pandas compare series

我收到错误说" ValueError:只能比较带有相同标签的Series对象"。我知道我正在比较两个系列对象而不是它们里面的值。但是,我认为series[column]给了你内在的价值。有人可以详细说明这个吗?我真的被困在可以找到这些信息的地方,并且会喜欢指向正确的方向。 all_agesrecent_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)

1 个答案:

答案 0 :(得分:2)

See this old question of mine

你不能再这样做了。当您比较html = soup(response.text, 'lxml') first_table = html.find('table') for link in first_table.select('td a'): print link.text, baseurl + link['href'] <时,您需要将索引 排成一行 >你的一个系列就像另一个。

我会像这样编辑你的代码

reindex

示范

与链接问题

中的相同示例
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]

rg_major_unemp = rg_major["Unemployment_rate"]
aa_major_unemp = aa_major["Unemployment_rate"].reindex_like(rg_major_unemp)

if rg_major_unemp < aa_major_unemp:
    rg_lower_count += 1

print(rg_lower_count)
import pandas as pd
x = pd.Series([1, 1, 1, 0, 0, 0], index=['a', 'b', 'c', 'd', 'e', 'f'], name='Value')
y = pd.Series([0, 2, 0, 2, 0, 2], index=['c', 'f', 'a', 'e', 'b', 'd'], name='Value')

x > y
ValueError: Can only compare identically-labeled Series objects