我有一个路由节点的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(),但要么无法获得上一行/第二行,要么不能使用多个条件