【问题标题】:Nested Python dictionary to Pandas dataframes将 Python 字典嵌套到 Pandas 数据帧
【发布时间】:2021-03-20 06:22:02
【问题描述】:

我有一个嵌套的 Python 字典:

d={'CON-2': {'gene-ODF3': [2.0, 44474],'gene-SCGB1C1': [0.184937, 36615], 'gene-TRNAN-GUU-19': [32.0, 443]},'CON-1':{'gene-ODF3': [10.00, 44474], 'gene-SCGB1C1': [0.184937, 36615], 'gene-TRNAN-GUU-19': [30.0, 443], 'gene-LOC103247846': [20.0, 22111]}}

我想在散点图上绘制每个基因的 FPKM(第一个值)与其 DNA 转录本丰度(第二个值)。我尝试了一些不同的方法,例如:

CON_1=pd.DataFrame(d['CON-1'].items(),columns=['FPKM','Fraction-0'])
CON_2=pd.DataFrame(d['CON-2'].items(),columns=['FPKM','Fraction-0'])

df=pd.DataFrame.from_dict({(i,j): d[i][j]
                           for i in d.keys()
                           for j in d[i].keys()},
                           orient='index')

但我无法将这两个值分开。我想为每个条件(CON-1 和 CON-2)生成一个单独的数据框,如下所示:

gene       FPKM    DNA-abundance
gene-ODF3  2.0     44474

【问题讨论】:

标签: python pandas dataframe


【解决方案1】:
pd.DataFrame(d)['CON-1'].apply(pd.Series)\
                        .rename(columns={0:'FPKM',1:'DNA-abundance'})
#                        FPKM  DNA-abundance
#gene-ODF3          10.000000        44474.0
#gene-SCGB1C1        0.184937        36615.0
#gene-TRNAN-GUU-19  30.000000          443.0
#gene-LOC103247846  20.000000        22111.0

其他情况也一样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-06
    • 2019-10-03
    • 2022-12-05
    • 2019-06-18
    • 2015-07-24
    • 1970-01-01
    • 2018-08-21
    • 2021-11-05
    相关资源
    最近更新 更多