Python 如果数据帧中的数据流相同,如何对它们进行分组?

Python 如果数据帧中的数据流相同,如何对它们进行分组?,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,假设我有上面的数据帧,如果行中的1和2是相同的,如何将它们分组为[3647 555],并将它们的总延迟添加到3.3,从而得到一个新的数据帧 我必须这样做,以获得更多的数据 import pandas as pd row_1 = pd.Series({'Address A': 3647, 'Address B': 555, 'Total Delay': 1.2}) row_2 = pd.Series({'Address

假设我有上面的数据帧,如果行中的1和2是相同的,如何将它们分组为[3647 555],并将它们的总延迟添加到3.3,从而得到一个新的数据帧

我必须这样做,以获得更多的数据

import pandas as pd

row_1 = pd.Series({'Address A': 3647,
                   'Address B': 555,
                   'Total Delay': 1.2})
row_2 = pd.Series({'Address A': 555,
                   'Address B': 3647,
                   'Total Delay': 2.1})
row_3 = pd.Series({'Address A': 4567,
                   'Address B': 555,
                   'Total Delay': 0.6})
df = pd.DataFrame([row_1, row_2, row_3], index = [1, 2, 3])
df.head()

output:

    Address A   Address B   Total Delay                         
1   3647        555         1.2
2   555         3647        2.1
3   4567        555         0.6


首先,我们使用
np对索引轴(每行)上的
地址A
地址B
进行排序。然后我们在这些列上使用
GroupBy
,并首先使用
sum
+

    Address A   Address B   Total Delay                         
1   3647        555         3.3
3   4567        555         0.6


如果希望列的顺序准确,请使用
DataFrame.reindex

   Address A  Address B  No.  Total Delay
0       3647        555    1         3.30
1       4567        555    3         0.60

标准是什么?A和B是相同的,但却是相反的?同时给出一个可再现问题的代码,用这些数据创建一个小的datafram。请假设a是源地址,B是目标地址,在第1行a与B通信,在第2行B与a通信。因此,它们是同一流程的一部分。
   Address A  Address B  No.  Total Delay
0       3647        555    1         3.30
1       4567        555    3         0.60
dfg = dfg.reindex(df.columns, axis='columns')
   No.  Address A  Address B  Total Delay
0    1       3647        555         3.30
1    3       4567        555         0.60