python - Pandas 数据框两列的唯一值

标签 python pandas dataframe unique

<分区>

假设我有一个包含 2 列的 pandas 数据框:

df: Col1  Col2
      1     1
      1     2
      1     2
      1     2
      3     4
      3     4

然后我只想保留这两列的唯一对值 (col1, col2) 并给出它们的频率:

df2: Col1  Col2  Freq
      1     1     1
      1     2     3
      3     4     2

我想使用 df['Col1', 'Col2'].value_counts() 但它只适用于一列。 是否存在处理多列的功能?

最佳答案

你需要groupby + size + Series.reset_index :

df = df.groupby(['Col1', 'Col2']).size().reset_index(name='Freq')
print (df)
   Col1  Col2  Freq
0     1     1     1
1     1     2     3
2     3     4     2

关于python - Pandas 数据框两列的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44906754/

相关文章:

python - 与 re.findall 有问题

python - 附加具有不同列名称的数据框 - Pandas

Python 数据框 : Calculating R^2 and RMSE Using Groupby on One Column

R - 根据其他列中的组元素数量创建列

python - 按多个列值过滤 Pandas 数据框行

python - 我如何跟踪用户在棋盘上的点击?

Python:解决 Python 在线编译器中的内存约束 p‌r‌o‌b‌l‌e‌m?

python-3.x - TypeError:fit()缺少1个必需的位置参数: 'y'

python - 在 numpy/pandas 中生成相关数

python - 为什么错误处理不适用于IndexError?