[英]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.