如何使用 Python 查找两个数据框中都存在的值?

发布于 2025-01-11 16:35:26 字数 98 浏览 2 评论 0原文

我在

df1 列 下方有 2 个数据框轮廓 abcd

df2 列 xyz

我想找到与 c 匹配的所有 x 值(我没有 ID 来合并这些列)

I have 2 dataframes outlines below

df1 columns
a b c d

df2 columns
x y z

I want to find all x values that match with c (I do not have an ID to merge these columns)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如果没结果 2025-01-18 16:35:26

如果尺寸不匹配,我想到的一种方法是:

创建用于测试的数据框:

import pandas as pd
df = pd.DataFrame([[4, 9,20,25],[52, 28,77,96],[23, 19,220,2335],[234, 
                     93,420,2345],[234, 9434,220,245] ] , columns=['a', 'b','c','d'])
df2 = pd.DataFrame([[4, 9,15], [77,256,25],[220,58,63]], columns=['x', 'y','z'])

回答你的问题

def compare_values(a,b):
    # a and b are list of values in columns need to compare
    val = []
    for value in a :
        if value in b:
            val.append(value)
    return val
x = lambda a , b  : compare_values(a,b)
x(df['c'].values, df2['x'].values)

the one approach that comes to mind if size did not match is :

create the data frames for test:

import pandas as pd
df = pd.DataFrame([[4, 9,20,25],[52, 28,77,96],[23, 19,220,2335],[234, 
                     93,420,2345],[234, 9434,220,245] ] , columns=['a', 'b','c','d'])
df2 = pd.DataFrame([[4, 9,15], [77,256,25],[220,58,63]], columns=['x', 'y','z'])

Answer your question

def compare_values(a,b):
    # a and b are list of values in columns need to compare
    val = []
    for value in a :
        if value in b:
            val.append(value)
    return val
x = lambda a , b  : compare_values(a,b)
x(df['c'].values, df2['x'].values)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文