熊猫:在for循环中创建空数据框,追加

时间:2020-04-01 07:28:29

标签: pandas loops

我想在for循环中创建一个((25520 * 43),3)大熊猫数据框。

我创建了如下数据框:

ARImageAnchor

现在我想用25520个值填充“区域”,共43次。还有GeneID和DistanceValue。

这是我的for循环:

lst=['Region', 'GeneID', 'DistanceValue']

df=pd.DataFrame(index=lst).T

但是我的df仅存在(25520,3)。所以我只填写了43的最后一次迭代。 我如何在df中合并所有迭代1到43?

1 个答案:

答案 0 :(得分:1)

我无法重现您的示例,但是您可以进行一些更正:

lst=['Region', 'GeneID', 'DistanceValue']
df=pd.DataFrame(index=lst).T

region = []
for i in range(43):
    region.append(np.ones(25520))

flat_list = [item for sublist in region for item in sublist]
df.Region = flat_list

首先在循环外创建一个新列表,然后在该列表内的循环内附加值。 flat_list会将所有43列表合并为一个,然后可以将其映射到DataFrame。在循环外填充DataFrame值总是比较容易的。

类似地,您可以更新所有3列。