[英]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
使用stack
和unstack
:
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.