首页 > 解决方案 > 从2个df列python中查找相同的值

问题描述

我有两个不同的 dfs 以下列:

col1                    col2

0 programming           0 programming
1 chess                 1 python
2 leadership            2 leadership
                        3 abba
                        4 games

我想找出col1当前值的百分比col2

为此,我想我可以构造一个新的 df ,它将包含相同的值,然后是lento len(col2)。首先我想得到这个:

col3

0 programming
1 leadership 

这是我尝试过的,但我不想使用两个for循环

bb=[]
for i in company.col2:
    for b in student.col1:
        if i==b:
            bb.append(i)

标签: pythonpandasdataframe

解决方案


>>> df1 = pd.DataFrame(["programming", "chess", "leadership"], columns=["col1"])
>>> df2 = pd.DataFrame(["programming", "python", "leadership", "abba", "games"], columns=["col2"])

查找 的哪些值df1['col1']正在df2['col2']使用中isin。结果是一个布尔列。用于sum查找值的数量:

>>> df1['col1'].isin(df2['col2']).sum()

用于size查找其中的元素数df2并除以:

>>> df1['col1'].isin(df2['col2']).sum() / df2.size

推荐阅读