gpt4 book ai didi

python - 比较两个 Pandas 系列中的字符串条目

转载 作者:行者123 更新时间:2023-12-01 02:32:31 25 4
gpt4 key购买 nike

我有两个 panda 系列,只想比较它们的字符串值,并返回它们共同的值的字符串(也可能是索引),例如以下示例中的 Hannah、Frank 和 Ernie::

print(x)
print(y)

0 Anne
1 Beth
2 Caroline
3 David
4 Ernie
5 Frank
6 George
7 Hannah
Name: 0, dtype: object
1 Hannah
2 Frank
3 Ernie
4 NaN
5 NaN
6 NaN
7 NaN

正在做

x == y 

抛出一个

ValueError: Can only compare identically-labeled Series objects

也是如此

x.sort_index(axis=0) == y.sort_index(axis=0)

x.reindex_like(y) > y

做了一些事情,但不是正确的事情!

最佳答案

如果只需要通用值,您可以使用将第一列转换为set并使用intersection:

a = set(x).intersection(y)
print (a)
{'Hannah', 'Frank', 'Ernie'}

对于索引需要 merge默认情况下内连接reset_index将索引转换为列:

df = pd.merge(x.rename('a').reset_index(), y.rename('a').reset_index(), on='a')
print (df)
index_x a index_y
0 4 Ernie 3
1 5 Frank 2
2 7 Hannah 1

详细信息:

print (x.rename('a').reset_index())
index a
0 0 Anne
1 1 Beth
2 2 Caroline
3 3 David
4 4 Ernie
5 5 Frank
6 6 George
7 7 Hannah

print (y.rename('a').reset_index())
index a
0 1 Hannah
1 2 Frank
2 3 Ernie
3 4 NaN
4 5 NaN
5 6 NaN
6 7 NaN

关于python - 比较两个 Pandas 系列中的字符串条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46650337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com