【发布时间】:2021-11-06 06:43:59
【问题描述】:
我有一个包含大约 300 台计算机的数据库,我正试图找出哪些计算机有和没有特定软件。
问题是:这个数据库单独列出了每个软件,每个软件都有重复的计算机名称。
例子:
| Computer Name | Software. |
|---|---|
| Computer 1 | Windows 7 |
| Computer 1 | Microsoft Edge |
| Computer 2 | Windows 7 |
| Computer 2 | Microsoft Edge |
| Computer 3 | Windows 7 |
| Computer 4 | Windows 10 |
| Computer 4 | Microsoft Edge |
在此示例中,很容易迭代并让 Python 告诉我哪些计算机安装了 Windows 7。您创建了一个简单的 for 循环,如果它看到 Windows 7,则返回该计算机的值。但是当找出哪台计算机时问题就来了一个没有软件。当我说=!到“Microsoft Edge”,我得到了每一台计算机,因为它读取了没有说 Microsoft Edge 的每一行。
我的想法是....将所有重复的计算机编译成字典,其中键是单个计算机和列表中的应用程序。这样我就可以遍历字典并获得结果。
有人有其他想法吗?如有必要,乐于解释。
【问题讨论】:
-
检查熊猫“groupby”:pandas.pydata.org/docs/reference/api/…
标签: python pandas list dataframe dictionary