Python 计算数据帧中的重复值并合并它们
我有一个包含零件及其某些属性的BOM表Python 计算数据帧中的重复值并合并它们,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个包含零件及其某些属性的BOM表 REFDES Tol size value 0 R1 1% CR0402 10K 1 R2 1% CR0402 1K 2 C1 20% CC0603 10uF 3 C2 20% CC0603 10uF 4 C3 10% CC0603 10uF 5 R3 1% CR0402 10K BOM表包含重复的零件。我想合并重复的部分,合并它们的参照标示元件
REFDES Tol size value
0 R1 1% CR0402 10K
1 R2 1% CR0402 1K
2 C1 20% CC0603 10uF
3 C2 20% CC0603 10uF
4 C3 10% CC0603 10uF
5 R3 1% CR0402 10K
BOM表包含重复的零件。我想合并重复的部分,合并它们的参照标示元件,并跟踪数量。理想的输出如下所示:
QTY REFDES Tol size value
0 2 R1,R3 1% CR0402 10K
1 1 R2 1% CR0402 1K
2 2 C1,C2 20% CC0603 10uF
3 1 C3 10% CC0603 10uF
到目前为止,我已经能够识别重复的零件并计算它们的数量,但我不确定是否有一种优雅的方法来跟踪REFDES属性
这是我到目前为止所做的
df = df.groupby(['size', 'value', 'Tol']).size().reset_index(name='QTY')
size value Tol QTY
0 CC0603 10uF 10% 1
1 CC0603 10uF 20% 2
2 CR0402 10K 1% 2
3 CR0402 1K 1% 1
使用
agg
+set
df.groupby(['size', 'value', 'Tol']).agg([lambda x : ','.join(x),'count']).reset_index()
Out[441]:
size value Tol REFDES
<lambda> count
0 CC0603 10uF 10% C3 1
1 CC0603 10uF 20% C1,C2 2
2 CR0402 10K 1% R1,R3 2
3 CR0402 1K 1% R2 1
df.groupby(['size','value','Tol']).agg([lambda x:','join(x),'count']).reset_index()
Out[441]:
参考标示元件的尺寸值
计数
0 CC0603 10uF 10%C3 1
1 CC0603 10uF 20%C1,C2 2
2 CR0402 10K 1%R1,R3 2
3 CR0402 1K 1%R2 1
可以改为lambda x:','。加入(x)
使用','。加入