【问题标题】:Is there a way to find the number of occurrences of each value in a column in another column?有没有办法在另一列的列中找到每个值的出现次数?
【发布时间】:2021-04-09 04:59:20
【问题描述】:

我有两个名为 dataset1 和 dataset 2 的数据框(如下所示)。 “模式”和“SAX”列包含字符串值。

dataset1=
       pattern   tstamps
0    glngsyu     1610460
1    zicobgm     1610466
2    eerptow        .
3    cqbsynt        .
4    zvmqben        .
..       ...
475  rfikekw
476  bnbzvqx
477  rsuhgax
478  ckhloio
479  lbzujtw

480 rows × 1 columns

dataset2 =
    SAX     timestamp
0   hssrlcu 16015
1   ktyuymp 16016
2   xncqmfr 16017
3   aanlmna 16018
4   urvahvo 16019
... ... ...
263455  jeivqzo 279470
263456  bzasxgw 279471
263457  jspqnqv 279472
263458  sxwfchj 279473
263459  gxqnhfr 279474

263460 rows × 2 columns

有没有办法检查 SAX(dataset2) 中每行 pattern(dataset1) 的出现次数。基本上(dataset1)的模式列中的值的次数存在于(dataset2)的SAX列中?

基本上是这样的:

dataset1=
       pattern  no. of occurrences
0    glngsyu          3
1    zicobgm          0
2    eerptow          1
.       .             .
.       .             .
.       .             .
479  lbzujtw          2

480 rows × 2 columns

谢谢。

【问题讨论】:

    标签: python string dataframe data-science


    【解决方案1】:

    应该这样做

    dataset2_SAX_value_counts = dataset2["SAX"].value_counts()
    dataset1["no. of occurrences"] = dataset1["pattern"].apply(lambda x: dataset2_SAX_value_counts.loc[x])
    

    【讨论】:

    • 嘿,谢谢,当数据集 1 的“模式”列的值与数据集 2 的“SAX”列的值匹配时,有没有办法打印数据集 1 的“tstamps”?
    • dataset1.merge(dataset2, left_on="pattern", right_on="SAX") 的一些变体应该可以工作。更多关于它here
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-09
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多