2
我有一個相當具體的事情要做,不知道如何實現: 我有兩個列表,x和y,相應的值(每個列表中約10k)。Python:列表,bin和排序
首先,我需要根據它們在x中的順序將這兩個列表分別存儲在每個bin中具有N個值的bin中。所以我不能預先定義固定的邊框邊緣,我需要每個邊框中的10個值。
然後我需要計算每個x bin對應的10個y值的中值。
在最後一步中,我有第三個列表z,其中有更多的值,比如x(大約100k值),然後檢查每個值,其中x bin將落入並添加相應的平均值y bin(如:z + mean [y_m:y_n] [其中x_m < z < x_n]))。 任何想法如何做到這一點?謝謝!
或'[s [i:i + 10] for i in range(0,len(s),10)]' – Elazar
@Elazar是的,列表理解很好。 OTOH,初學者的問題通常應該用最簡單的工具來回答(即從Python教程開始的東西,而不是稍後介紹的技術)。 –
謝謝,排序和切片很清楚(謝謝你的清單理解,但)。不過,我需要用x排序y,我相信這是可以用argsort。然而,下一步是我不確定的。說,我通過切片得到了bins_x和bins_y,而med_bins_y是[bins_y]中bin的[np.median(bin)]。如何檢查bins_x屬於哪個bin bins_x,因此我可以將med_bins_y的相應值添加到它中? – frixhax