栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

pandas:计算数据框中的唯一值

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pandas:计算数据框中的唯一值

我认为您正在执行行/列明智的操作,因此可以使用

apply

In [11]: d.apply(pd.Series.value_counts, axis=1).fillna(0)Out[11]:    1  2  30  1  1  11  4  0  12  1  1  13  0  4  1

注意:在工作中有一个

value_counts
适用于0.14的Dataframe方法…将使此方法更加有效和简洁。

值得注意的是,熊猫

value_counts
也起工作的numpy的阵列上,这样就可以把它传递数据帧的值(作为1-d阵列 视图
使用
np.ravel
):

In [21]: pd.value_counts(d.values.ravel())Out[21]: 2    61    63    4dtype: int64

另外,您几乎可以正确地解决此问题,但是您需要堆叠和拆栈:

In [22]: d.stack().groupby(level=0).apply(pd.Series.value_counts).unstack().fillna(0)Out[22]:    1  2  30  1  1  11  4  0  12  1  1  13  0  4  1

此错误似乎有点自已解释(4!= 16):

len(d.stack()) #16d.stack().groupby(arange(4))AssertionError: Grouper and axis must be same length

也许您想通过:

In [23]: np.repeat(np.arange(4), 4)Out[23]: array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3])


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645478.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号