python - 如何计算一个 df.column 的时间值是另一 df.column 的一部分?

标签 python pandas

我必须使用不同的数据框,两者都包含一列对象类型。两列都存在值的组合。我想知道第二个数据帧中的组合在第一个数据帧的组合中出现的频率。

我尝试了不同的变体:

df1.Column1.str.count(df2['Column2'])

但我不断收到错误:

TypeError: 'Series' objects are mutable, thus they cannot be hashed

df1 = 
Index                         Column1 
0                             BIER, VRUCHTENSAP, SMOOTHIE
1                                       FRISDRANK, KOFFIE
2                                           KOFFIE, WATER
3                                            KOFFIE, THEE
4                                       FRISDRANK, KOFFIE
5                                   HOT CHOCOLATE, KOFFIE
6                                            KOFFIE, THEE
7                                       FRISDRANK, KOFFIE
8                                         BIER, FRISDRANK
9                                       FRISDRANK, KOFFIE
10                                 BIER, MIX DRINKS, THEE
11                                           KOFFIE, THEE

df2 = 
Index                         Column2
1                    KOFFIE, SPECIAAL BIER
2                             KOFFIE, THEE
3                            KOFFIE, WATER

预期结果是一个数据帧,显示 df2 中值的计数以及它们在 df1 中出现的时间:

Index                         Count
KOFFIE, SPECIAAL BIER         0
KOFFIE, THEE                  3 
KOFFIE, WATER                 1

希望有人能帮助我。

最佳答案

如果您正在寻找完全匹配,您可以使用以下列表理解,使用 pd.Series.eq 来计算完全匹配的数量。 :

counts = [df1.Column1.eq(i).sum() for i in df2.Column2]
pd.DataFrame({'Count':counts}, df2.Column2)

                        Count
Column2                   
KOFFIE, SPECIAAL BIER      0
KOFFIE, THEE               3
KOFFIE, WATERE             1

关于python - 如何计算一个 df.column 的时间值是另一 df.column 的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54422614/

相关文章:

python - 从数据框中删除列

python - 将numpy和matplotlib安装到linux本地安装的python2.7中

python - 为什么此日期时间字符串未转换为 Pandas 数据框中的日期时间对象?

python - 为什么 numpy select 比通过 apply 方法的自定义函数慢?

python - 可以在 numpy 中形成 ndarray 对角线的 View 吗

python - __init__() 在 python/django 中得到了一个意外的关键字参数 'mime'

c# - 为 .NET 应用程序创建交互式 shell,并将 python/iron python 等脚本语言嵌入其中

Python绘制时间列表

python - 在 Pandas 中分配线条颜色

python - 将 Pandas Dataframe 行中的所有值相乘