【发布时间】:2019-07-02 16:32:07
【问题描述】:
我有一个这样的数据框,它是在一些聚合和条件之后生成的,
X P D1 D2
1 A 2016-06-02 2016-07-26
2 A 2016-10-04 2016-12-01
3 A 2016-12-13 2017-03-11
1 B 2017-03-04 2018-01-11
从这个数据框中,我必须填充另一个具有 n 列的数据框,其中每列在 [201606, 201607,......, 201801] 的范围内为一个月,这是之前制作的。即我已经有一个包含上述列的数据框。我想填充那个数据框。
我想为聚合数据框中的每条记录创建一行,其中 X、P 的组合在整个聚合数据框中是唯一的。
对于第一条记录,我想用 1 填充 201606 到 201607 列,即从 D1 到 D2(包括两者)。所有其他列应该是 0
对于第二行,我想用 1 和 0 填充 201610 到 201612 列,以用于聚合数据框中的每一行。
如何使用 pandas 更快、更有效地做到这一点?我不喜欢遍历数据框,因为我的数据会很大。
如果填充现有数据框并不理想,生成我上面提到的数据框也可以达到我的目的。
【问题讨论】:
-
您是要创建这个数据框还是填充现有的数据框? “从这个数据帧中,我必须填充 另一个数据帧,它有 n 个列,如果每个列在 min(D1) 到 max(D2) 的范围内持续一个月,例如 [201606, 201607 ,......, 201801]"
-
其实我想填充。我已经有了一个包含
[201606, ....., 201801]之类的列的数据框。我已经编辑了问题以显示这一点。如果填充是一个问题,我也可以从聚合数据框创建。