python - 在 Pandas 数据框中成对计数

标签 python pandas

我正在 Pandas 中寻找一种简单的方法来计算两列之间的所有成对组合。例如:

df

Col1    Col2   Freq
 A        B     1
 B        A     1
 A        C     1
 C        B     1
 C        A     1

预期输出:
Col1    Col2   Freq
 A        B     2
 A        C     2
 C        B     1

谢谢

最佳答案

你可以试试:

df2=(df
  .groupby(
       df[["Col1", "Col2"]]
       .apply(lambda x: str(sorted(x)), axis=1)
       )
  .agg({"Col1": "first", "Col2": "first", "Freq": "sum"})
  .reset_index(drop=True)
)

输出:

  Col1 Col2  Freq
0    A    B     2
1    A    C     2
2    C    B     1

关于python - 在 Pandas 数据框中成对计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58961685/

相关文章:

python - ReadDirectoryChangesW无法检测和处理监视目录的删除

python - 用 uvicorn : can we exclude certain code? 重新加载标志

python - Pandas:如何使用多个嵌套的 JSON 列表规范化 JSON 文件?

python pandas 分箱数值范围

python - 在 pandas Dataframe 中移动数据

python - 在 Python 中遍历列表时删除元素

python - 四舍五入数据框列时处理字符串值

python - Pandas:使用 minrank 在 groupby 之后排名

python - 如果值匹配,则通过 DataFrame 设置 pandas DataFrame 的子集

python - Pandas 数据框线图 : Show Random Markers