Pandas按序列计算每列的唯一值

2024-04-25 05:25:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我想收集Pandas数据帧中每个列的简单统计信息。收集非空数据点的数量没有问题:

valueCountSeries = mydataframe.count()

不过,我想将此信息与包含唯一值数量的序列结合起来。目前,我按如下方式计算该值:

^{pr2}$

所以我有独特的但不是熊猫系列。
基本上我想要一个系列,这样我就可以进入下一步:

df = pd.DataFrame([valueCountSeries, uniqueCountSeries])

有没有一种熊猫式的方法可以使序列唯一,这样我就可以用valueCountSeries将结果加入到一个新的数据帧中?在

从下面调整结果。给出以下矩阵:

    A  B  C  D
 0  4  0  3  3
 1  3  1  3  2
 2  4  0  0  nan
 3  2  1  0  1
 4  1  0  1  4

我想计算:

   count  nunique
A      5        4
B      5        2
C      5        3
D      4        4

谢谢!在


Tags: 数据方法信息dataframepandasdf数量count
1条回答
网友
1楼 · 发布于 2024-04-25 05:25:09
import numpy as np
import pandas as pd
np.random.seed(0)
df = pd.DataFrame(np.random.randint(5, size=(5,4)), columns=list('ABCD'))
print(df)
#    A  B  C  D
# 0  4  0  3  3
# 1  3  1  3  2
# 2  4  0  0  4
# 3  2  1  0  1
# 4  1  0  1  4
dct = {func.__name__:df.apply(func) for func in (pd.Series.nunique, pd.Series.count)}
print(pd.concat(dct, axis=1))

收益率

^{pr2}$

相关问题 更多 >