Skip to main content
 首页 » 编程设计

python之填充源之目标对和列表中的标志

2025年05月04日18落叶无声

我有一个列表,它有一个源到目标流,看起来像 -

path_list = ['A', 'A', 'B', 'C', 'C'] 

我想为上面的列表填充一个 DataFrame,它有 3 列 -
源、目标、标志。示例 -

source destination flag 
 'A'      'A'      Type_1 
 'A'      'B'      - 
 'B'      'C'      - 
 'C'      'C'      Type_2 

我想根据规则填充 flag 列 - 如果 list 中的前 2 个条目相同,则 Type_1 并且如果最后 2 个条目与 Type_2 相同。所有其他源-目标对将被标记为 -

我已经完成了一半,并且有一个脚本可以填充 source 和 destination 列 -

pd.DataFrame({'source': path_list[:-1], 'destination': path_list[1:]}) 

如何添加标志列并填充它?

请您参考如下方法:

给特定的单元格值使用df.flag.iat[0]

import pandas as pd 
 
path_list = ['A', 'A', 'B', 'C', 'C'] 
df = pd.DataFrame({'source': path_list[:-1], 'destination': path_list[1:]}) 
df['flag'] = '-' 
 
if path_list[0] == path_list[1]: 
    df.flag.iat[0] = 'Type_1' 
 
if path_list[-1] == path_list[-2]: 
    df.flag.iat[-1] = 'Type_2' 
print(df) 

输出:

  source destination   flag 
0      A           A  Type_1 
1      A           B      - 
2      B           C      - 
3      C           C  Type_2