基于少量约束的数据集扩展

2024-04-26 23:24:34 发布

您现在位置:Python中文网/ 问答频道 /正文

编辑:

我有一个包含以下字段的数据帧

I_Code Date_1   Date_2  Count real_Count
4   01/09/2019  02/08/2019  112 1
4   01/09/2019  03/08/2019  178 3
1   01/09/2019  04/08/2019  174 6
4   01/09/2019  04/08/2019  174 6
1   01/09/2019  05/08/2019  194 8
4   01/09/2019  05/08/2019  194 8
1   01/09/2019  06/08/2019  195 8
2   01/09/2019  06/08/2019  195 8
4   01/09/2019  07/08/2019  208 10
1   01/09/2019  08/08/2019  183 14
2   01/09/2019  08/08/2019  183 14
4   01/09/2019  08/08/2019  183 14
1   01/09/2019  09/08/2019  213 17
4   01/09/2019  09/08/2019  213 17
1   01/09/2019  10/08/2019  213 14

real\u count表示数据帧中日期\u 2的计数,这里的count列指我希望在扩展中实现的日期\u 2的频率计数。我希望扩展数据帧,使日期\u 2显示为计数总数。日期\2有多个条目,它们是对日期\1和I \U代码的约束。你知道吗

1   01/09/2019  08/08/2019  183
2   01/09/2019  08/08/2019  183
4   01/09/2019  08/08/2019  183

这里的日期是相同的,但代码是不同的。你知道吗

示例:

假设日期2=08/08/2019共有3个条目。然后在扩展时,我们需要在数据帧中获得183个条目,每个条目具有相等的条目,即183/3。你知道吗

有人能帮忙吗。你知道吗


Tags: 数据代码编辑示例datecountcode条目
1条回答
网友
1楼 · 发布于 2024-04-26 23:24:34

您可以在.nunique()的结果上使用.max(axis=1),以获得每个Date\u2值的最大唯一值数(跨所有其他列)。你知道吗

然后给产生的序列一个名称,并将其与原始数据帧连接起来。你知道吗

df.join(df.groupby('Date_2').nunique().max(axis=1).rename('Date_2_Count'), on='Date_2')

I_Code      Date_1      Date_2  Count  real_Count  Date_2_Count
     4  01/09/2019  02/08/2019    112           1             1
     4  01/09/2019  03/08/2019    178           3             1
     1  01/09/2019  04/08/2019    174           6             2
     4  01/09/2019  04/08/2019    174           6             2
     1  01/09/2019  05/08/2019    194           8             2
     4  01/09/2019  05/08/2019    194           8             2
     1  01/09/2019  06/08/2019    195           8             2
     2  01/09/2019  06/08/2019    195           8             2
     4  01/09/2019  07/08/2019    208          10             1
     1  01/09/2019  08/08/2019    183          14             3
     2  01/09/2019  08/08/2019    183          14             3
     4  01/09/2019  08/08/2019    183          14             3
     1  01/09/2019  09/08/2019    213          17             2
     4  01/09/2019  09/08/2019    213          17             2
     1  01/09/2019  10/08/2019    213          14             1

相关问题 更多 >