Спасибо за ответы, я раньше не использовал StackOverflow, поэтому я был удивлен количеством ответов и скоростью их - это фантастика.
Я еще не получил правильных ответов, но подумал, что мне следует добавить некоторую информацию в спецификацию проблемы. Смотрите изображение ниже.
Я не могу опубликовать изображение в этом, потому что у меня недостаточно очков, но вы можете увидеть изображение
в http://journal.acquitane.com/2010-01-20/image003.jpg
Это изображение может более точно описать то, чего я пытаюсь достичь. Таким образом, вы можете видеть на горизонтальных линиях на странице ценовые точки на графике. Теперь, когда вы получаете кластеризацию линий в пределах 0,5% от каждой, это считается хорошей вещью, и поэтому я хочу автоматически идентифицировать эти кластеры. На графике видно, что на S2 и MR1, R2 и WPP1 есть кластер.
Таким образом, каждый день я создаю эти ценовые точки, а затем я могу вручную определить те, которые находятся в пределах 0,5%. - но цель этого вопроса в том, как сделать это с помощью Python.
Я снова воспроизвел список (см. Ниже) с метками. Просто имейте в виду, что прейскурантные цены не совпадают с ценовыми точками на изображении, потому что они взяты из двух разных дней.
[YR3,175.24,8]
[SR3,147.85,6]
[YR2,144.13,8]
[SR2,130.44,6]
[YR1,127.79,8]
[QR3,127.42,5]
[SR1,120.94,6]
[QR2,120.22,5]
[MR3,118.10,3]
[WR3,116.73,2]
[DR3,116.23,1]
[WR2,115.93,2]
[QR1,115.83,5]
[MR2,115.56,3]
[DR2,115.53,1]
[WR1,114.79,2]
[DR1,114.59,1]
[WPP, 113.99,2]
[ДПП, 113.89,1]
[MR1,113.50,3]
[DS1,112.95,1]
[WS1,112.85,2]
[DS2,112.25,1]
[WS2,112.05,2]
[DS3,111.31,1]
[МРР, 110.97,3]
[WS3,110.91,2]
[50mA, 110.87,4]
[MS1,108.91,3]
[QPP, 108.64,5]
[MS2,106.37,3]
[MS3,104.31,3]
[QS1,104.25,5]
[SPP, 103.53,6]
[200MA, 99.42,7]
[QS2,97.05,5]
[ППМС, 96.68,8]
[SS1,94.03,6]
[QS3,92.66,5]
[YS1,80.34,8]
[SS2,76.62,6]
[SS3,67.12,6]
[YS2,49.23,8]
[YS3,32.89,8]
Я допустил ошибку с первоначальным списком в том, что группа C неверна и не должна быть включена. Спасибо что подметил это.
Также 0,5% не является фиксированным, это значение будет меняться изо дня в день, но я просто использовал 0,5% в качестве примера для определения проблемы.
Еще раз спасибо.
Mark
PS. Сейчас я начну проверять ответы.
Привет:
Мне нужно сделать некоторые манипуляции с ценами на акции. Я только начал использовать Python (но, думаю, у меня возникнут проблемы с реализацией этого на любом языке). Я ищу некоторые идеи о том, как реализовать это в Python.
Спасибо
Mark
Проблема :
У меня есть список списков (FloorLevels (см. Ниже)), где у подсписка есть два элемента (stockprice, weight). Я хочу поместить цены в группы, когда они находятся в пределах 0,5% друг от друга. Сила группы будет определяться ее общим весом. Например:
Group-A
115.93,2
115.83,5
115.56,3
115.53,1
-------------
TotalWeight:12
-------------
Group-B
113.50,3
112.95,1
112.85,2
-------------
TotalWeight:6
-------------
FloorLevels[
[175.24,8]
[147.85,6]
[144.13,8]
[130.44,6]
[127.79,8]
[127.42,5]
[120.94,6]
[120.22,5]
[118.10,3]
[116.73,2]
[116.23,1]
[115.93,2]
[115.83,5]
[115.56,3]
[115.53,1]
[114.79,2]
[114.59,1]
[113.99,2]
[113.89,1]
[113.50,3]
[112.95,1]
[112.85,2]
[112.25,1]
[112.05,2]
[111.31,1]
[110.97,3]
[110.91,2]
[110.87,4]
[108.91,3]
[108.64,5]
[106.37,3]
[104.31,3]
[104.25,5]
[103.53,6]
[99.42,7]
[97.05,5]
[96.68,8]
[94.03,6]
[92.66,5]
[80.34,8]
[76.62,6]
[67.12,6]
[49.23,8]
[32.89,8]
]