python - 获取熊猫数据框中不同值的最有效方法是什么?
问题描述
我有一个如下所示的数据框。
0 1 2
0 A B C
1 B C B
2 B D E
3 C E E
4 B F A
我需要从整个 dataframe 中获取唯一值的计数,而不是按列的唯一值。在上面的数据框中,唯一值是 A、B、C、D、E、F。所以,我需要的结果是6。
我使用pandas 的squeeze、ravel 和nunique 函数来实现这一点,它们将整个数据帧转换为一个系列。
pd.Series(df.squeeze().values.ravel()).nunique(dropna=True)
请让我知道是否有更好的方法来实现这一点。
解决方案
使用numpy.unique
唯一length
值:
out = len(np.unique(df))
6
推荐阅读
- r - 是否可以根据一些措施在嵌套 CV 的内循环中选择最佳超参数?
- r - 来自 nnet::multinom 的预测
- excel - icCube:如何为 Excel xmla 请求启用 Gzip 压缩?
- php - 在 null 上调用成员函数 update()
- python - 如何编写一个可以仅使用“name”而不是“name.name”导入的包?
- matlab - MATLAB 中的 3D 卷积
- c# - 使用 Office 365 用户登录在 WPF 应用程序中进行身份验证
- jenkins - Jenkins,java.lang.NullPointerException,删除工作区后
- validation - 如何处理此回发消息?
- jquery - 默认选择选项值未定义