串联多行DataFrame取决于row中的值

时间:2019-12-10 13:40:03

标签: python pandas dataframe

我有一个路由节点的DataFrame,我需要将数据从不同的列连接到1列('String'),具体取决于列'Type'的值。 如果Type =='Send',则需要与第二行连接。 如果Type =='Received',则需要上一行的数据。

import pandas as pd
df = pd.DataFrame([['Send', 'London', 'A124'],
                   ['Received', 'Paris', 'B030'],
                   ['Send', 'Paris', 'B030'],
                   ['Received', 'NY', 'Q107']],
                  columns=['Type', 'Place', 'Code'])

print(df)

所需的输出:

       Type   Place  Code                                    String
0      Send  London  A124     Send from London(A124) to Paris(B030)
1  Received   Paris  B030  Recived to Paris(B030) from London(A124)
2      Send   Paris  B030         Send from Paris(B030) to NY(Q107)
3  Received      NY  Q107      Recived to NY(Q107) from Paris(B030)

我尝试了很多不同的方法,例如apply(),iterrows(),where(),但要么无法获得上一行/第二行,要么不能使用多个条件

0 个答案:

没有答案