簡體   English   中英

將字典列表轉換為熊貓列

[英]Convert list of dicts to pandas columns

我有一個pandas數據框,其中包含包含字符串的列,如下所示:

"Hex:6; HexNAc:3; NeuNAc:1}"
"Fuc:1; Hex:7; HexNAc:2}"

我編寫了以下函數,將該文本轉換為具有鍵值對的字典,如下所示:

def create_monosacch_columns(glycan_ident):
glycans = glycan_ident.split("}")[0].split("; ")
monosaccharides = []
for entry in glycans:
    key, val = entry.split(":")
    monosacc = {key:val}
    monosaccharides.append(monosacc)
    return monosaccharides

輸出:

[{'Hex': '6'}, {'HexNAc': '3'}, {'NeuNAc': '1'}]
[{'Fuc': '1'}, {'Hex': '7'}, {'HexNAc': '2'}]

如何將這些字典列表轉換為pandas dataframe列,並將值映射到原始行?

不確定是否要使最終輸出看起來像什么,但是如果您不介意使用NA,則可以嘗試將字典列表作為數據框附加到原始數據框。 將存在NAns,但是在執行分析時可以將其刪除。

df = pd.DataFrame([[1, 2], [3, 4]], columns=list('HexNAc',"NeuNAc"))

數據框如下所示:

HexNAc  NeuNAc
   1       2
   3       4

如果您查看字典的示例列表,

temp= [{'Hex': '6'}, {'HexNAc': '3'}]

然后,您可以將此列表轉換為自己的數據框,並將其附加到已有的數據框。

df2 = pd.DataFrame(temp)
df = df.append(df2)

最終列表將如下所示:

HexNAc NeuNAc
   1      2 
   3      4 
   3      NaN 
   NaN    1  

暫無
暫無

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

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