我有一种非常奇特的数据结构,它是一个元组列表。每个元组有五个元素,第一个元素是一个标识字符串,其余四个元素都是浮点数字符串(很奇怪,它们不是普通的浮点数)。 抱歉,这些数据是从别人那里获取的。
我想要对所有具有相同第一个索引的2-5数字求平均值。 例如:
[('ch', ' 0.8307', '0.8583', '0.8047', ' 0.969'),
('de', ' 0.721', '0.7529', '0.6917', ' 0.968'),
('en', ' 0.8441', '0.8732', '0.8168', ' 0.9569'),
('fn', ' 0.8207', '0.8574', '0.7870', ' 0.9609'),
('ch', ' 0.466', '0.572', '0.7733', ' 0.969'),
('de', ' 0.322', '0.385', '0.5431', ' 0.968'),
('sp', ' 0.7609', '0.7893', '0.7344', ' 0.9663'),
('ti', ' 0.8135', '0.8430', '0.7860', ' 0.9662')]
输出应该将所有具有相同第一个索引的元素收缩在一起,并平均它们的值,因此它将类似于(我在此处的示例输出中没有对值进行平均):
[('ch', ' 0.8307', '0.8583', '0.8047', ' 0.969'),
('de', ' 0.721', '0.7529', '0.6917', ' 0.968'),
('en', ' 0.8441', '0.8732', '0.8168', ' 0.9569'),
('fn', ' 0.8207', '0.8574', '0.7870', ' 0.9609'),
('sp', ' 0.7609', '0.7893', '0.7344', ' 0.9663'),
('ti', ' 0.8135', '0.8430', '0.7860', ' 0.9662')]
我能否在这里做些非常聪明的事情,而不是制作一个巨大的for循环来提取所有内容?
pandas
而不是numpy
- 添加了标签以便那些专家能够帮助。 - Daniel F