【问题标题】:Get sorted in specific value按特定值排序
【发布时间】:2020-01-20 04:12:28
【问题描述】:

我有一个包含文本及其 TFIDF 分数的列表:

[['penguji', 117    0.594552 Name: rank, dtype: float64], 
 ['saat', 126    0.263102 Name: rank, dtype: float64], 
 ['melakukan', 92    0.223703 Name: rank, dtype: float64], 
 ['ini', 60    0.772189 Name: rank, dtype: float64], 
 ['kebenaran', 73    0.318094 Name: rank, dtype: float64], 
 ['selain', 136    0.234254 Name: rank, dtype: float64], 
 ['khusus', 76    0.553491 Name: rank, dtype: float64], 
 ['dan', 31    0.782068 Name: rank, dtype: float64],...]

然后我想对分数进行排序,所以我编码了这个:

TFIDF_Score.sort()
print('Sorted list:', TFIDF_Score)

结果是被排序的文本,而实际上,预期的输出是被排序的分数,像这样:

[['dan', 31    0.782068 Name: rank, dtype: float64],
 ['ini', 60    0.772189 Name: rank, dtype: float64], 
 ['penguji', 117    0.594552 Name: rank, dtype: float64],
 ['khusus', 76    0.553491 Name: rank, dtype: float64], 
 ['kebenaran', 73    0.318094 Name: rank, dtype: float64], 
 ['saat', 126    0.263102 Name: rank, dtype: float64],
 ['selain', 136    0.234254 Name: rank, dtype: float64], 
 ['melakukan', 92    0.223703 Name: rank, dtype: float64],...] 

如何处理循环?还是谢谢

【问题讨论】:

    标签: python list loops sorting tf-idf


    【解决方案1】:

    假设第二个元素是pandas.Series,使用sortedkey

    import pandas as pd
    
    l = [['aaa', pd.Series([0.2])],
         ['bbb', pd.Series([0.1])]]
    
    sorted(l, key=lambda x: x[1].values, reverse=True)
    

    输出:

    [['aaa', 0    0.2  dtype: float64], 
     ['bbb', 0    0.1  dtype: float64]]
    

    【讨论】:

      【解决方案2】:

      尝试使用sorted

      print(sorted(TFIDF_Score, key=lambda x: -x[2]))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-09
        • 2014-06-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多