python - 连续计算值的频率?
问题描述
我有一个如下图所示的数据框(这是一个例子,原来的要大得多):
我试图回答这个问题,“有多少行有三个真值?两个真值?一个真值?”
我更愿意在 SQL 中执行此操作,但我正在努力寻找解决方案。我也在努力使用 Python 在 Pandas 中找到解决方案。在这一点上,我对任何一种解决方案都持开放态度。
如果有人有任何指示,我将不胜感激。我确定这是一个简单的解决方案,我只是还没有学会它,我找不到正确的方法来做到这一点。
解决方案
你可以试试:
(df.isin(["TRUE"])).sum(axis=1).value_counts()
df.isin(["TRUE"])
而不是df == "TRUE"
用于解决此处描述的问题的部分。
示例示例数据框:
import numpy as np
a = np.random.choice(["TRUE", "FALSE"], (5, 5))
df = pd.DataFrame(a)
df = df.reset_index()
print(df)
这给出了:
index 0 1 2 3 4
0 0 TRUE TRUE TRUE FALSE TRUE
1 1 FALSE TRUE FALSE TRUE TRUE
2 2 TRUE TRUE TRUE FALSE FALSE
3 3 FALSE FALSE TRUE FALSE TRUE
4 4 TRUE TRUE TRUE TRUE TRUE
然后
(df.isin(["TRUE"])).sum(axis=1).value_counts()
给出:
3 2
5 1
4 1
2 1
即“TRUE”出现2行3次,1行5次,1行4次,1行2次。
推荐阅读
- icons - sublime text build 4107 的侧面垂直菜单中未显示图标
- google-cloud-iot - 如何将消息推送到 ESP8266?
- python - 为什么这个 Julia 代码段比 Python 代码段慢得多?(带字典)
- python - Python:如何从 Twitter 帐户中获取所有对推文的回复?
- spring - XMLStreamException: xmlns 已经绑定到 . 将其重新绑定到 http://deutsche-boerse.com/DBRegHub 是一个错误
- windows-10 - Windows 10 kiosk 模式:启动桌面应用程序但无法设置音量
- java-11 - 基于 POJO 对象初始化 HikariCP
- java - 在 JDialog 中鼠标单击无法识别
- python - python logging 对不同文件上的多个记录器使用相同的处理程序
- python - 尝试单击“a”标签时出错 - Selenium Python