Pandas创建大数据帧并将其填充到循环中

2024-09-25 12:27:05 发布

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

我已经创建了数据框的列

id=[f'GeneID_region_{i}' for i in range(43)]
value=[f'GeneValue_region_{i}' for i in range(43)]


lst=[]
for i in range(43):
    lst.append(id[i])
    lst.append(value[i])

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

现在看起来是这样的:

df
Out[158]: 
                0                   1   ...                84                   85
0  GeneID_region_0  GeneValue_region_0  ...  GeneID_region_42  GeneValue_region_42

[1 rows x 86 columns]

GeneID_地区。。。是我的列,现在我想逐行填充列。。但我想我还没有将我的行定义为行,因为我不能:

df.GeneID_region_0
Traceback (most recent call last):

  File "<ipython-input-159-2760f7e0dd61>", line 1, in <module>
    df.GeneID_region_0

  File "/home/anja/anaconda3/lib/python3.7/site-packages/pandas/core/generic.py", line 5179, in __getattr__
    return object.__getattribute__(self, name)

AttributeError: 'DataFrame' object has no attribute 'GeneID_region_0'

有人能帮我怎么做吗

结果应如下所示:

我有一个维度为43x25520的numpy数组。 我想在“GeneID\u region0”列中有25520个值 “GeneValue\u region0”列中的值超过25520个 等等最后,我想要一个维度的熊猫框架(25520,86)


Tags: iniddataframedfforobjectvalueline
1条回答
网友
1楼 · 发布于 2024-09-25 12:27:05

我猜您想要的是列名的GeneID_region_n等,然后用数据填充df。您可以这样做(使用0作为伪数据,因为您没有指定):

id=[f'GeneID_region_{i}' for i in range(43)]
value=[f'GeneValue_region_{i}' for i in range(43)]
lst=[]
for i in range(43):
    lst.append(id[i])
    lst.append(value[i])
df = pd.DataFrame([[0 for i in range(43+43)]],columns=lst)

相关问题 更多 >