Sort all columns of a dataframe

前端 未结 5 1572
悲哀的现实
悲哀的现实 2020-12-19 01:54

I have a dataframe of 2000 rows and 500 columns. I want to sort every column in ascending order. The columns don\'t have names they\'re just numbered 0-500.

Random d

5条回答
  •  挽巷
    挽巷 (楼主)
    2020-12-19 02:21

    I think you can use numpy.sort with DataFrame constructor or apply with sort_values with convert to numpy array by values:

    df = pd.DataFrame(np.sort(df.values, axis=0), index=df.index, columns=df.columns)
    

    Another solution, slowier:

    df = df.apply(lambda x: x.sort_values().values)
    
    print (df)
    
          0    1    2    3    4    5    6    7    8    9   ...   490  491  492  \
    0       0    0    0    0    0    0    0    0    0    0 ...     0    0    0   
    1       0    0    0    0    0    0    0    0    0    0 ...     0    0    0   
    2       0    0    0    0    0    0    0    0    0    0 ...     0    0    0   
    3       0    0    0    0    0    0    0    0    0    0 ...     0    0    0   
    4       0    0    0    0    0    0    0    0    0    0 ...     0    0    0   
    5       0    0    0    0    0    0    0    0    0    0 ...     0    0    0   
    6       0    0    0    0    0    0    0    0    0    0 ...     0    0    0   
    7       0    0    0    0    0    0    0    0    0    0 ...     0    0    0   
    8       0    0    0    0    0    0    0    0    0    0 ...     0    0    0   
    9       0    0    0    0    0    0    0    0    0    0 ...     0    0    0   
    10      0    0    0    0    0    0    0    0    0    0 ...     0    0    0   
    11      0    0    0    0    0    0    0    0    0    0 ...     0    0    0   
    12      0    0    0    0    0    0    0    0    0    0 ...     0    0    0   
    13      0    0    0    0    0    0    0    0    0    0 ...     0    0    0   
    14      0    0    0    0    0    0    0    0    0    0 ...     0    0    0   
    15      0    0    0    0    0    1    0    0    0    0 ...     0    0    0   
    16      0    0    0    0    0    1    1    0    0    0 ...     0    0    0   
    17      0    0    0    0    0    1    1    0    0    0 ...     0    0    0   
    18      0    0    0    0    0    1    1    0    0    0 ...     0    0    0   
    19      0    0    0    0    0    1    1    1    1    0 ...     0    0    0   
    20      0    0    1    0    0    1    1    1    1    0 ...     0    0    0   
    21      0    0    1    0    0    1    1    1    1    1 ...     0    1    0   
    22      0    1    1    0    0    1    1    1    1    1 ...     0    1    0   
    23      1    1    1    0    0    1    1    1    1    1 ...     0    1    0   
    24      1    1    1    0    0    1    1    1    1    1 ...     0    1    0   
    25      1    1    1    1    0    1    1    1    1    1 ...     0    1    0   
    26      1    1    1    1    0    1    1    1    1    1 ...     1    1    1   
    27      1    1    1    1    0    1    1    1    1    1 ...     1    1    1   
    28      1    1    1    1    0    1    1    1    1    1 ...     1    1    1   
    29      1    1    1    1    0    1    1    1    1    1 ...     1    1    1   
    ...   ...  ...  ...  ...  ...  ...  ...  ...  ...  ... ...   ...  ...  ...   
    1970   97   98   98   98   98   98   99   98   98   98 ...    98   98   98   
    1971   97   98   98   98   98   98   99   98   98   98 ...    98   98   98   
    1972   98   98   98   98   98   98   99   98   98   98 ...    98   98   98   
    1973   98   98   98   99   98   98   99   98   98   98 ...    98   98   98   
    1974   98   98   98   99   98   98   99   98   98   98 ...    98   98   98   
    1975   98   98   98   99   98   98   99   98   98   98 ...    98   98   98   
    1976   98   98   98   99   98   98   99   98   99   99 ...    98   98   98   
    1977   98   98   98   99   98   98   99   98   99   99 ...    98   98   99   
    1978   98   98   98   99   98   98   99   98   99   99 ...    98   98   99   
    1979   98   98   98   99   99   99   99   98   99   99 ...    98   98   99   
    1980   98   98   98   99   99   99   99   98   99   99 ...    98   98   99   
    1981   99   99   98   99   99   99   99   98   99   99 ...    99   98   99   
    1982   99   99   98   99   99   99   99   98   99   99 ...    99   98   99   
    1983   99   99   98   99   99   99   99   98   99   99 ...    99   98   99   
    1984   99   99   98   99   99   99   99   99   99   99 ...    99   99   99   
    1985   99   99   98   99   99   99   99   99   99   99 ...    99   99   99   
    1986   99   99   98   99   99   99   99   99   99   99 ...    99   99   99   
    1987   99   99   99   99   99   99   99   99   99   99 ...    99   99   99   
    1988   99   99   99   99   99   99   99   99   99   99 ...    99   99   99   
    1989   99   99   99   99   99   99   99   99   99   99 ...    99   99   99   
    1990   99   99   99   99   99   99   99   99   99   99 ...    99   99   99   
    1991   99   99   99   99   99   99   99   99   99   99 ...    99   99   99   
    1992   99   99   99   99   99   99   99   99   99   99 ...    99   99   99   
    1993   99   99   99   99   99   99   99   99   99   99 ...    99   99   99   
    1994   99   99   99   99   99   99   99   99   99   99 ...    99   99   99   
    1995   99   99   99   99   99   99   99   99   99   99 ...    99   99   99   
    1996   99   99   99   99   99   99   99   99   99   99 ...    99   99   99   
    1997   99   99   99   99   99   99   99   99   99   99 ...    99   99   99   
    1998   99   99   99   99   99   99   99   99   99   99 ...    99   99   99   
    1999   99   99   99   99   99   99   99   99   99   99 ...    99   99   99   
    
          493  494  495  496  497  498  499  
    0       0    0    0    0    0    0    0  
    1       0    0    0    0    0    0    0  
    2       0    0    0    0    0    0    0  
    3       0    0    0    0    0    0    0  
    4       0    0    0    0    0    0    0  
    5       0    0    0    0    0    0    0  
    6       0    0    0    0    0    0    0  
    7       0    0    0    0    0    0    0  
    8       0    0    0    0    0    0    0  
    9       0    0    0    0    0    0    0  
    10      0    0    0    0    0    0    0  
    11      0    0    0    0    0    0    0  
    12      0    0    0    0    0    0    0  
    13      0    0    0    0    0    0    0  
    14      0    0    0    0    0    0    0  
    15      0    0    0    0    1    0    0  
    16      0    1    0    0    1    0    0  
    17      0    1    0    0    1    0    0  
    18      1    1    0    0    1    0    0  
    19      1    1    1    0    1    0    0  
    20      1    1    1    0    1    0    1  
    21      1    1    1    0    1    0    1  
    22      1    1    1    0    1    0    1  
    23      1    1    1    0    1    0    1  
    24      1    1    1    0    1    0    1  
    25      1    1    1    0    1    0    1  
    26      1    1    1    0    1    0    1  
    27      1    1    1    1    1    0    1  
    28      1    1    1    1    1    0    1  
    29      1    1    1    1    1    0    1  
    ...   ...  ...  ...  ...  ...  ...  ...  
    1970   98   98   98   98   98   98   98  
    1971   98   98   98   98   98   98   98  
    1972   98   98   98   98   98   98   98  
    1973   98   98   98   98   98   98   98  
    1974   98   98   98   99   98   98   98  
    1975   98   98   98   99   98   98   98  
    1976   99   98   98   99   98   98   98  
    1977   99   98   98   99   98   98   98  
    1978   99   98   98   99   99   98   98  
    1979   99   99   98   99   99   98   98  
    1980   99   99   98   99   99   99   99  
    1981   99   99   98   99   99   99   99  
    1982   99   99   98   99   99   99   99  
    1983   99   99   99   99   99   99   99  
    1984   99   99   99   99   99   99   99  
    1985   99   99   99   99   99   99   99  
    1986   99   99   99   99   99   99   99  
    1987   99   99   99   99   99   99   99  
    1988   99   99   99   99   99   99   99  
    1989   99   99   99   99   99   99   99  
    1990   99   99   99   99   99   99   99  
    1991   99   99   99   99   99   99   99  
    1992   99   99   99   99   99   99   99  
    1993   99   99   99   99   99   99   99  
    1994   99   99   99   99   99   99   99  
    1995   99   99   99   99   99   99   99  
    1996   99   99   99   99   99   99   99  
    1997   99   99   99   99   99   99   99  
    1998   99   99   99   99   99   99   99  
    1999   99   99   99   99   99   99   99  
    

提交回复
热议问题