numpyでのデータの入れ替え


X={x1,x2,x3,x4,x5}  
Y={y1,y2,y3,y4,y5}  
というseriesがあります．  
このデータはx1とy1，x2とy2というようにそれぞれ対応していて，この組み合わせを変えずにXの値で順番を昇順に入れ替えたいのですがどうすればいいでしょうか？




seriesという表現から、Pandasの話だと仮定して回答します。

[code]

    >>> import pandas as pd
    >>> X = [1,5,2,3,4]
    >>> Y = [9,8,6,5,7]
    >>> df = pd.DataFrame({'X':X,'Y':Y})
    >>> df
       X  Y
    0  1  9
    1  5  8
    2  2  6
    3  3  5
    4  4  7
    >>> df.sort_values(by='X')
       X  Y
    0  1  9
    2  2  6
    3  3  5
    4  4  7
    1  5  8
    
[/code]

Pandas等使わずにpython標準の機能のみで実装する場合は以下のように書けます

[code]

    >>> X2, Y2 = zip(*sorted(zip(X,Y)))
    >>> X2
    (1, 2, 3, 4, 5)
    >>> Y2
    (9, 6, 5, 7, 8)
    
[/code]

