【发布时间】:2019-08-06 02:39:02
【问题描述】:
我有一个字典列表,其中包含响应字段中的光谱数据。我还有用于标记光谱数据列的波长阵列。列表/输入如下所示:
data = [ {
'date': '2018-01-01',
'measurement': 100,
'responses': [(1, 1, np.array([1, 2, 3])),
(2, 1, np.array([4, 5, 6])),
]
},
{
'date': '2018-01-02',
'measurement': 200,
'responses': [(3, 1,np.array([5, 6, 7])),
(4, 1, np.array([8, 9, 10])),
]
},
]
以及要匹配的波长的列名:
wavelengths = [400,401,402]
我想将此列表转换为两个熊猫数据框;
- 平均响应元组中的数组,并且
- 它们是分开的,其中包含响应中元组中的第一个到数字。
两者的期望输出如下:
__Average Dataframe__
index | date | measurement | 400 | 401 | 402 |
0 | '2018-01-01' | 100 | 2.5 | 3.5 | 4.5 |
1 | '2018-01-02' | 200 | 6.5 | 7.5 | 8.5 |
__Seperate Dataframe__
index | date | measurement | prong | scan| 400 | 401 | 402 |
0 | '2018-01-01' | 100 | 1 | 1 | 1 | 2 | 3 |
1 | '2018-01-01' | 100 | 2 | 1 | 4 | 5 | 6 |
2 | '2018-01-02' | 200 | 3 | 1 | 5 | 6 | 7 |
3 | '2018-01-02' | 200 | 4 | 1 | 8 | 9 | 10 |
在 pandas 中最有效的方法是什么?
【问题讨论】:
-
请提供一些可重现的输入和预期的输出。
-
嗨,克里斯,你希望这个格式如何?
-
对于初学者,您可以提供一个有效的
dict。它只是一种格式,不是正确的dict。并且由于拥有 1100 个浮点数或 3 个浮点数需要类似的功能,因此您可以为更精确的示例提供更短的responses伪值,也许更短的一个。通过Minimal, Complete and Verifiable example 可以帮助您提出更好的问题:) -
@Chris 谢谢克里斯,我已经更新了问题,希望这更具可读性!
标签: python pandas dataframe optimization spectral