【发布时间】:2020-02-17 07:07:52
【问题描述】:
我想创建一个 Python 数据框来计算每个样本中每个日期类型 C 或 P 出现的次数. C 和 P 是 F 的子集,这意味着只要 Type 等于 F,我可以计算具有相同 Sample 值的行数,并且相同的日期值。
我无法对条件进行硬编码,因为实际数据集比样本大得多。这意味着我需要将我的条件基于数据集中 Type 等于 F 的值。
这是我的数据集 df_Data 的一个示例(实际更大):
样品 |类型 |日期 |罢工
一个 | F | 2020 年 6 月 1 日 |
一个 | C | 2020 年 6 月 1 日 | 5
一个 |磷 | 2020 年 6 月 1 日 | 2.5
一个 | F | 2020 年 12 月 1 日 |
一个 |磷 | 2020 年 12 月 1 日 | 3
一个 |磷 | 2020 年 12 月 1 日 | 3.5
一个 |磷 | 2020 年 12 月 1 日 | 4
乙| F | 2020 年 6 月 1 日 |
乙| C | 2020 年 6 月 1 日 | 2.5
乙| C | 2020 年 6 月 1 日 | 3
乙| C | 2020 年 6 月 1 日 | 4
乙| F | 2020 年 12 月 1 日 |
乙| C | 2020 年 12 月 1 日 | 2
乙| C | 2020 年 12 月 1 日 | 4
乙|磷 | 2020 年 12 月 1 日 | 2
乙|磷 | 2020 年 12 月 1 日 | 4
对应的输出是一个像这样的新数据框:
样品 |类型 |日期 |数
========================
A | F | 1 Jun 2020 |2
A | F | 1 Dec 2020 |3
B | F | 1 Jun 2020 |3
B | F | 1 Dec 2020 |4
在 Excel 中,我会使用 CountIfs 函数:
IF Type = "F" then countifs(Sample-column, Sample-value, Date-column, Date-value, Type-column, " F")
请帮忙(为糟糕的表格格式道歉)。
【问题讨论】:
-
你想如何实现这个?在关系数据库(如 mySQL)中?您正在使用什么(如果有)编程语言?请更新您的标签。
-
我根据 FoggyDay 的问题做了一些修改。
标签: python dataframe count conditional-statements