如何使用 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.merge
与value_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()
我有 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.merge
与value_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()