Python 跨所有列计算数据帧的多个值
如何计算整个数据帧中多个值的出现次数?有没有一种方法可以在没有for循环的情况下实现 Ex=统计数据帧所有列中的所有0和-1 我在想类似df.apply.count(0,-1)的东西 谢谢 设置Python 跨所有列计算数据帧的多个值,python,pandas,dataframe,Python,Pandas,Dataframe,如何计算整个数据帧中多个值的出现次数?有没有一种方法可以在没有for循环的情况下实现 Ex=统计数据帧所有列中的所有0和-1 我在想类似df.apply.count(0,-1)的东西 谢谢 设置 numpy.inad 这应该很快 np.in1d(df.values, [0, -1]).sum() 29 @山德普卡达帕 与np.inad(df.values,[0,-1]).sum()的性能类似 numpy.inad带np.count\u非零 这应该很快(呃) applymap+set.\
numpy.inad
这应该很快
np.in1d(df.values, [0, -1]).sum()
29
@山德普卡达帕 与
np.inad(df.values,[0,-1]).sum()的性能类似
numpy.inad
带np.count\u非零
这应该很快(呃)
applymap
+set.\uuu包含\uuuu
+numpy.sum
这有点厚颜无耻
df.applymap({0, -1}.__contains__).values.sum()
29
安装程序
numpy.inad
这应该很快
np.in1d(df.values, [0, -1]).sum()
29
@山德普卡达帕
与np.inad(df.values,[0,-1]).sum()的性能类似
numpy.inad
带np.count\u非零
这应该很快(呃)
applymap
+set.\uuu包含\uuuu
+numpy.sum
这有点厚颜无耻
df.applymap({0, -1}.__contains__).values.sum()
29
简单使用melt
和值\u计数
df.melt().value.value_counts()
或
简单使用melt
和值\u计数
df.melt().value.value_counts()
或
欢迎来到StackOverflow!请阅读(特别是)以获得良好的响应。欢迎来到StackOverflow!请阅读(特别是)以获得良好的响应。np.count\u nonzero(np.inad(df.values,[0,-1])
是提供的所有解决方案中最快的。此外,添加np.isin(df.values.ravel(),[0,-1]).sum()
这与np inad(df.values,[0,-1]).sum()的性能几乎相同
我想它也在做同样的事情(:不确定核心功能,我只是建议不要留下任何可能的基于numpy的解决方案供参考。np.count\u nonzero(np.inad(df.values,[0,-1])
是所有提供的解决方案中最快的。另外,添加np.isin(df.values.ravel(),[0,-1]).sum()
这与np.inad(df.values,[0,-1]).sum()的性能几乎相同。
我想它在幕后也做着同样的事情(-:不确定核心功能,我只是建议不要留下任何可能的基于numpy的解决方案供参考。
np.unique(a.values.ravel(),return_counts=True)
Out[292]: (array([1, 2, 3, 5], dtype=int64), array([3, 1, 1, 1], dtype=int64))