如何在列未知的情况下填充数据帧b

2024-10-02 02:40:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用for循环对一个带有html文件的表进行迭代,在第一次迭代中,变量namegene_name_1value1gene_name_2value2中有以下值

keyXvalueX是字典的一部分,但我不知道每个迭代有多少键和值

我的想法是使用一本大致如下的字典:

d = {'gene_name_1': 2, 'gene_name_2': 5}

但现在我意识到字典的值在每次循环迭代中都会发生变化,所以在下一个循环中可能是这样的:

d = {'gene_name_1': 3, 'gene_name_2': 0, 'gene_name_3': 9}

所以我不太确定字典是否是这里最好的数据结构:

我想得到的是一个熊猫数据帧,看起来或多或少像这样

          | gene_name_1 | gene_name_2 | gene_name_3 | ...
organism1 |           2 |           5 |           0 | ...
organism2 |           3 |           0 |           9 | ...
...

只是澄清一下:0代表那些没有出现键的名称

我的问题是,我不知道列名或列的数量。我想从一个空的数据帧开始,但我不确定这是否是最好的方法

如果我不知道列的名称或数量,如何从数据帧开始

我希望这是可以理解的,如果我需要澄清,请让我知道


Tags: 文件数据name名称数据结构for数量字典
1条回答
网友
1楼 · 发布于 2024-10-02 02:40:07

我认为您需要创建dict的列表并将其传递给DataFrame构造函数,最后用fillna替换NaN0

d = {'gene_name_1': 2, 'gene_name_2': 5}
d1 = {'gene_name_1': 3, 'gene_name_2': 0, 'gene_name_3': 9}

#use loop
L = [d, d1]

df = pd.DataFrame(L).fillna(0)
print (df)
   gene_name_1  gene_name_2  gene_name_3
0            2            5          0.0
1            3            0          9.0

相关问题 更多 >

    热门问题