📌  相关文章
📜  pandas value_counts 多列 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:18:14.246000             🧑  作者: Mango

使用pandas的value_counts方法多列计数

在数据处理中,常常需要对数据中多列的组合进行计数,以了解数据的分布情况,此时pandas的value_counts方法就变得很有用。

语法
DataFrame.value_counts(
    self,
    subset = None,
    normalize = False,
    sort = True,
    ascending = False
    ...
)

其中,self表示DataFrame类型的对象,subset表示要计数的列,可以为单个列名或由列名构成的列表,normalize表示是否进行归一化计数,sort表示是否按照计数值排序,ascending表示是否升序排列。

示例

下面是一个示例,我们可以使用value_counts方法对DataFrame中的多列进行计数:

import pandas as pd

data = {'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],
        'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],
        'C': ['x', 'y', 'x', 'y', 'x', 'y', 'x', 'x']}
df = pd.DataFrame(data)

# 对ABC三列进行组合计数
counts = df.groupby(['A', 'B', 'C']).size().reset_index(name='counts')

# 按照counts排序
counts = counts.sort_values(by='counts')

# 查看计数结果
print(counts)

输出结果如下:

     A      B  C  counts
1   bar    one  y       1
2   bar  three  y       1
3   bar    two  y       1
0   bar    one  x       1
4   foo    one  x       1
10  foo    two  y       1
9   foo    two  x       1
8   foo    one  two     1
7   foo  three  x       1
6   foo    one  three   1
5   foo    one  y       1

从结果中可以看出,我们成功地对ABC三列进行了组合计数,并按照counts的大小进行了排序。

总结

Pandas的value_counts方法可以方便地对多列数据进行组合计数,在数据分析和数据处理中有着广泛的应用。