如何使用 pandas 获得与其计数匹配的单词

How to get words matches with it's count using pandas

我有 2 个数据框

set1 = ['a','b','c','d','e','f','g','h','i','j']
set2 = ['a','b','b','c','c','f','h','j','k']

df1 = pd.DataFrame(set1, columns=['name'])
df2 = pd.DataFrame(set2, columns=['name'])

我想在没有 forloop 的情况下比较这 2 个数据帧并获得类似

的输出
df3 = ['a=1','b=2','c=2','f=1','h=1','j=1']

我可以使用哪种方式来获取此输出的任何示例。?? 在这里,我只想要 df2 中出现在 df1

上的项目

只打印那些只喜欢 df3 的项目 我还需要得到计数(是不是 pandas 没问题,我只需要一个像 df3 这样的列表也可以 我使用了 merge func 但它显示了 inner , outer , left join , right join 这些方法所以不知道哪种方法更好

pandas.DataFrame.mergevalue_counts一起使用:

df1.merge(df2, on="name")["name"].value_counts()

输出:

b    2
c    2
j    1
a    1
h    1
f    1
Name: name, dtype: int64
import groupby from itertools
df1,df2 = "".join(df1),"".join(df2)
for i,j in zip(groupby(df1),groupby(df2)):
print(ilen(list(i)))

希望对您有所帮助!

import pandas as pd
df1 = pd.DataFrame({'df1_col':['a','b','c','d','e','f','g','h','i','j']})
df2 = pd.DataFrame({'df2_col':['a','b','b','c','c','f','h','j','k']})

df2[df2['df2_col'].isin(df1['df1_col'])]['df2_col'].value_counts()