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_region... 是我的列,现在我想逐行填充列。但我认为我还没有将我的行定义为行,因为我不能这样做:
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_region0'列中有25520个值,在'GeneValue_region0'列中有25520个值等等..所以最后我想要一个尺寸为(25520,86)的熊猫框架
解决方案
我猜你想要的是列名的 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)
推荐阅读
- sql - 根据条件更新表
- hibernate - 休眠获取最大值
- python - 标准输入失败的 Json 加载
- c# - 如何通过在 json 设置文件中指定子名称来获取子元素?
- node.js - 如何验证我的快速应用程序已连接到本地 mongodb 实例
- amazon-web-services - 如何管理 AWS 云中 ECS 上运行的 Spring Boot 应用程序使用的秘密轮换
- python - 困惑度随着主题数量的增加而增加
- database - 尽管不需要使用它来唯一标识记录,而是我们有另一个唯一标识符,但在模型中拥有 Id 属性会更好吗?
- php - 插入数据库的数据,即使它已经存在
- flutter - SingleChildScrollView 错误“RenderFlex 子项具有非零弹性,但传入的高度约束是无界的”