【发布时间】:2022-01-20 19:11:32
【问题描述】:
我有一些数据,我试图计算每个批次的每个批次项目编号的所有计数的总测量值和计数 2、3 和 4 的测量值总和。理想情况下,我会在原始数据上有 2 个额外的列,其中包含总测量值和计数 2、3 和 4 的测量值——即使这些值会重复,它们也会用每条记录表示。以下是数据集的示例:
Date Sample Type Lot # Lot item # Count Measurement
0 2021-12-05 G ABS123-G 1 1 5.0
1 2021-12-05 G ABS123-G 1 2 3.0
2 2021-12-05 G ABS123-G 1 3 7.0
3 2021-12-05 G ABS123-G 1 4 25.1
4 2021-12-05 G ABS123-G 1 5 66.0
5 2021-12-05 G ABS123-G 1 6 54.0
6 2021-12-05 G ABS123-G 1 7 12.0
7 2021-12-05 G ABS123-G 1 8 0.0
8 2021-12-05 G ABS123-G 1 9 1.0
9 2021-12-05 G ABS123-G 1 10 5.0
10 2021-12-05 G ABS123-G 2 1 2.0
11 2021-12-05 G ABS123-G 2 2 4.0
12 2021-12-05 G ABS123-G 2 3 889.0
13 2021-12-05 G ABS123-G 2 4 12.4
14 2021-12-05 G ABS123-G 2 5 51.4
15 2021-12-05 G ABS123-G 2 6 12.0
16 2021-12-05 G ABS123-G 2 7 14.0
17 2021-12-05 G ABS123-G 2 8 2.0
18 2021-12-05 G ABS123-G 2 9 1.0
19 2021-12-05 G ABS123-G 2 10 0.1
20 2021-12-05 B ABS123-B 1 1 4.0
21 2021-12-05 B ABS123-B 1 2 58.0
22 2021-12-05 B ABS123-B 1 3 123.0
23 2021-12-05 B ABS123-B 1 4 12.5
24 2021-12-05 B ABS123-B 1 5 11.0
25 2021-12-05 B ABS123-B 1 6 135.5
26 2021-12-05 B ABS123-B 1 7 17.0
27 2021-12-05 B ABS123-B 1 8 1.0
28 2021-12-05 B ABS123-B 1 9 5.0
29 2021-12-05 B ABS123-B 1 10 0.3
我的方法是尝试将计数过滤为 2,3,4,计算总和,然后根据批次和批次项目 # 将 df 加入原始数据,然后对总数执行类似的操作。但是,我在尝试求和时遇到了错误。
df2 = df.loc[(df['Count'] == 2) | (df['Count'] == 3) | (df['Count'] == 4)]
df2['Counts 2,3,4'] = df2.grouby(['Lot #, 'Lot item #'])['Measurement'].sum()
df2
TypeError: incompatible index of inserted column with frame index
过滤器有效,但第二部分无效。首先,我不知道是什么导致了错误,我需要重置索引吗?另外,这是正确的方法吗?欢迎提出任何建议。
【问题讨论】:
-
能否展示一个包含预期输出的示例数据框?
标签: python pandas sum typeerror