DataFrame sorting based on a function of multiple column values

前端 未结 5 852
我在风中等你
我在风中等你 2020-12-06 05:11

Based on python, sort descending dataframe with pandas:

Given:

from pandas import DataFrame
import pandas as pd

d = {\'x\':[2,3,1,4,5],
     \'y\':[         


        
5条回答
  •  無奈伤痛
    2020-12-06 05:49

    from pandas import DataFrame
    import pandas as pd
    
    d = {'one':[2,3,1,4,5],
         'two':[5,4,3,2,1],
         'letter':['a','a','b','b','c']}
    
    df = pd.DataFrame(d)
    
    #f = lambda x,y: x**2 + y**2
    array = []
    for i in range(5):
        array.append(df.ix[i,1]**2 + df.ix[i,2]**2)
    array = pd.DataFrame(array, columns = ['Sum of Squares'])
    test = pd.concat([df,array],axis = 1, join = 'inner')
    test = test.sort_index(by = "Sum of Squares", ascending = True).drop('Sum of Squares',axis =1)
    

    Just realized that you wanted this:

        letter  one  two
    2      b    1    3
    3      b    4    2
    1      a    3    4
    4      c    5    1
    0      a    2    5
    

提交回复
热议问题