簡體   English   中英

拆分值迭代 pandas 數據框中的非特定列數

[英]Split values iterating over an unspecific number of columns in a pandas data frame

我有一個生成具有不同列數的數據框的應用程序,它們的單元格包含兩個由“|”分隔的值。

gene_1             gene_2             ...
ashb|ESNT00011     wsefsf|ENST0008
adecasd|ENST0001   uibib|ENST0008

如何遍歷列並將值拆分為名為 gene_1_name 和 gene_1_ID 的兩列

gene_1_name    gene_1_ID           gene_2_name     gene_2_ID         ...
ashb           ESNT00011           wsefsf          ENST0008
adecasd        ENST0001            uibib           ENST0008

使用stackunstack

result = (
    df.stack().str.split('|', expand=True)     # split the strings
        .rename(columns={0: 'name', 1: 'id'})  # rename the columns
        .unstack()                             # unstack
)

# Merge the two levels
result.columns = [f'{gene}_{col}' for col, gene in result.columns]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM