我想在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?
答案 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列。