【发布时间】:2020-12-23 18:37:18
【问题描述】:
我选择了提及和未提及“Korona”的行,并按日期对它们进行计数。有些日期没有 Korona True。 数据框如下所示:
表 1
| Published_date | Korona | Count | |
|---|---|---|---|
| 242 | 2020-06-01 | False | 13 |
| 243 | 2020-06-01 | True | 3 |
| 244 | 2020-06-02 | False | 7 |
| 245 | 2020-06-02 | True | 1 |
| 246 | 2020-06-03 | False | 11 |
| 247 | 2020-06-04 | False | 8 |
| 248 | 2020-06-04 | True | 1 |
| 249 | 2020-06-05 | False | 10 |
| 250 | 2020-06-06 | False | 5 |
| 251 | 2020-06-07 | False | 5 |
| 252 | 2020-06-08 | False | 14 |
我想要做的是删除重复的日期行,但将值转换为另一列。比如这个:
| Published_date | Korona | Count | |
|---|---|---|---|
| 242 | 2020-06-01 | False | 13 |
| 243 | 2020-06-01 | True | 3 |
看起来像这样(在对列进行了一些重命名并添加了 Count-All 列之后):
表 2
| Published_date | Count-NoKorona | Count-Korona | Count-All | |
|---|---|---|---|---|
| 152 | 2020-06-01 | 13 | 3 | 16 |
我正在使用这段代码(在 Python, Merging rows with same value in one column 上找到它):
df = df.set_index(['Published_date', df.groupby('Published_date').cumcount()])['Count'].unstack().add_prefix('Count').reset_index()
问题: 出于某种原因,在那行代码之后,我的数据变得混乱了。
在那条线之前一切都很好。我有 782 个 Korona True 行(对于测试,我只从表 1 中取出“True”行,并总结了它的计数,它是正确的 --> 782)。所以 782/3443 是真的。
在代码行之后,我得到了 1011/3443 的总和。
我猜它需要一些错误的日期值,或者它被混淆了,但我不知道如何修复它,并且数据表太大而无法手动找到错误来尝试理解问题更好。
如果有任何帮助,我将不胜感激。 (如果问题看起来不太好,也很抱歉,这是我的第一个问题:D)
【问题讨论】: