meu*_*man 1 python tuples list pandas
我有一个 Pandas Dataframe,我想将不同行中的多个元组列表合并到一个元组列表中。数据集有 10 000 多行,我想将所有元组列表添加到一个元组列表中。
InvoiceNo Description
534 [(AB, AC), (ACBO, PPK)]
415 [(AD, AT), (CBO, PKD), (CBO, PKA)]
315 [(FDC, ATO), (VBO, IKD), (CVB, PKD)]
Desired output:
Edges = [(AB, AC), (ACBO, PPK), (AD, AT), (CBO, PKD), (CBO, PKA), (FDC, ATO), (VBO, IKD), (CVB, PKD)]
Run Code Online (Sandbox Code Playgroud)
将列表理解用于扁平化嵌套元组列表:
Edges = [y for x in df.Description for y in x]
print (Edges)
[('AB', 'AC'), ('ACBO', 'PPK'), ('AD', 'AT'), ('CBO', 'PKD'),
('CBO', 'PKA'), ('FDC', 'ATO'), ('VBO', 'IKD'), ('CVB', 'PKD')]
Run Code Online (Sandbox Code Playgroud)
或者chain.from_iterable为了更好的性能:
from itertools import chain
Edges = list(chain.from_iterable(df.Description))
print (Edges)
[('AB', 'AC'), ('ACBO', 'PPK'), ('AD', 'AT'), ('CBO', 'PKD'),
('CBO', 'PKA'), ('FDC', 'ATO'), ('VBO', 'IKD'), ('CVB', 'PKD')]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52 次 |
| 最近记录: |