【发布时间】:2017-07-04 13:00:23
【问题描述】:
假设我有 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(),但它只适用于一列。
是否存在处理多列的函数?
【问题讨论】:
-
df.groupby(['Col1', 'Col2']).size()? -
不明确的标题:这不会在 Col1 或 Col2 中找到唯一值,而是在 Col1 和 Col2 中找到 值的唯一组合,即笛卡尔积。这可能不是您想要的,尤其是对于基数高于布尔值(只有两个值)的列。
标签: python pandas dataframe unique