精华内容
下载资源
问答
  • python_hackerrank Hackerrank Python解决方案
  • python_HackerRank 来自HackerRank的不同python脚本
  • hackerrank-python:HackerRank实践
  • hackerrank-python hackerrank.com上各种python问题的解决方案 致谢 拥有问题的版权。
  • textrankPython 3的TextRank实现
  • 本源码主要是演示如何使用python实现textrank算法,编译运行时请注意,可能会提示相关包未安装,按照报错提示依次安装所需要的包即可。源码目录说明:  文件夹‘candidates’和‘conferences’是数据集  文件夹...
  • python page rank

    2015-04-07 16:07:17
    #-*- coding:utf-8 -*- import sys import re import numpyas np import scipy.io import math reload(sys) sys.setdefaultencoding('utf-8') class page_rank(object):

    #-*- coding:utf-8 -*-


    import sys

    import re

    import numpyas np

    import scipy.io

    import math


    reload(sys)

    sys.setdefaultencoding('utf-8')



    class page_rank(object):

       def __init__(self):

            self.epsilon =10**(-4)

            self.beta =0.8

            self.num_nodes =3


       def get_test(self):

            self.link_nodes = np.zeros((self.num_nodes, self.num_nodes,), dtype=np.int64)

            # build a matrix store the i->j when i->j has degree, link_nodes[i,j] =1

            

            test_file = open('test.dat','r')# get data format: from node, to node; for example: 1,2

           for linein test_file:

                temp_line = line.split(',')

                self.link_nodes[int(temp_line[0])-1][int(temp_line[1])-1] += 1 # give the initial number

            link_sum = np.sum(self.link_nodes, axis=1)

            i =0

            self.link_matrix = []

           while i < self.num_nodes:

                temp_link = np.full(self.num_nodes, link_sum[i], dtype=np.float64)

                self.link_matrix.append(temp_link)

                i +=1


            self.link_matrix = self.link_nodes / self.link_matrix# compute the out degree of node i


           return True


       def compute_page_rank(self):

            self.old_page_rank = np.full(int(self.num_nodes),1.0/float(self.num_nodes), dtype=np.float64)

            # print self.old_page_rank

            self.new_page_rank = np.zeros(self.num_nodes, dtype=np.float64)

            convergence = np.sum(self.old_page_rank)

           while convergence > float(self.epsilon):

                

                temp_old_page_rank = np.empty([int(self.num_nodes), int(self.num_nodes)], dtype=np.float64)

                

                # repeat the rank of node i in every row.

                i =0

               while i < self.num_nodes:

                    temp_old_page_rank[i,:] = self.old_page_rank[i]

                    i +=1

                temp_new_rank_matrix = temp_old_page_rank * self.link_matrix

                temp_new_rank_matrix = temp_new_rank_matrix * float(self.beta)

                

                # get the temp new rank of node j = sum(matrix, col)

                temp_new_rank_j = np.sum(temp_new_rank_matrix, axis=0)

                s = float(np.sum(temp_new_rank_j))

               # print s

                self.new_page_rank = temp_new_rank_j + (1.0-s)/float(self.num_nodes)

                # print self.new_page_rank

                

                # abs|rnew-rold|

                convergence_arr = np.absolute(self.new_page_rank - self.old_page_rank)

                

                # sum of difference

                convergence = float(np.sum(convergence_arr))

                self.old_page_rank = self.new_page_rank

                #print self.old_page_rank


           print self.old_page_rank

           print np.sum(self.old_page_rank)


            write_file = open('output1.txt','w')

            i =0

           while i < self.num_nodes:

                write_file.write(str(self.old_page_rank[i]))

                write_file.write('\n')

                i +=1


    def main():

        model = page_rank()

        model.get_test()

        model.compute_page_rank()


    if __name__ =='__main__':

        main()


    展开全文
  • Hackerrank_python Python问题在Hackerrank中的答案
  • HackerRank:使用Python的HackerRank解决方案
  • HackerRank-Python:Python相关的HackerRank练习以及我的解决方案
  • 主要为大家详细介绍了python实现textrank关键词提取,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • hackerrank-python 我用Python解决HackerRank中的问题的实践 我的HackerRank个人资料 解决了205个挑战 使用Python Python If-Else 算术运算符 Python:除法 循环 打印功能 写一个函数 基本数据类型 清单 元组 求...
  • pythonrank函数

    2021-06-06 17:44:49
    rank函数中的参数method有四个取值:无参,"min","max","first" 无参 相同排名下,取平均值进行排名 ser=pd.Series([3,2,0,3],index=list('abcd')) print(ser) ser=ser.rank() #默认为average print(ser) #输出 a...

    rank函数中的参数method有四个取值:无参,"min","max","first"

    • 无参
      相同排名下,取平均值进行排名
    ser=pd.Series([3,2,0,3],index=list('abcd'))
    print(ser)
    
    ser=ser.rank() #默认为average
    print(ser)
    
    #输出
    a    3
    b    2
    c    0
    d    3
    
    dtype: int64
    a    3.5
    b    2.0
    c    1.0
    d    3.5
    dtype: float64
    

    因为a与d的值相同,排名分别为3和4,取平均值后为(3+4)/2=3.5,所以a和b的排名为3.5。

    • min
      相同的值取较小的排名。
    ser=pd.Series([3,2,0,3],index=list('abcd'))
    print(ser)
    
    ser=ser.rank(method='min')
    print(ser)
    
    #输出
    a    3
    b    2
    c    0
    d    3
    
    dtype: int64
    a    3.0
    b    2.0
    c    1.0
    d    3.0
    dtype: float64
    

    因为a与d的值相同,排名分别为3和4,取较小的排名作为它们的排名,所以a和b的排名为3。

    • max
      相同的值取较大的排名。
    ser=pd.Series([3,2,0,3],index=list('abcd'))
    print(ser)
    
    ser=ser.rank(method='max')
    print(ser)
    
    #输出
    a    3
    b    2
    c    0
    d    3
    dtype: int64
    
    a    4.0
    b    2.0
    c    1.0
    d    4.0
    dtype: float64
    

    因为a与d的值相同,排名分别为3和4,取较大的排名作为它们的排名,所以a和b的排名为4。

    • first
      按顺序排列,不允许并列。
    ser=pd.Series([3,2,0,3],index=list('abcd'))
    print(ser)
    
    ser=ser.rank(method='first')
    print(ser)
    
    
    #输出
    a    3
    b    2
    c    0
    d    3
    dtype: int64
    a    3.0
    b    2.0
    c    1.0
    d    4.0
    dtype: float64
    

    相同的值按照出现顺序排列,先出现的值排名靠前(The first value is ranked first),不允许并列排名。

    展开全文
  • HackerRank-PySolutions Python中的HackerRank解决方案
  • textrank算法-python实现

    2018-04-03 10:18:02
    这是一个基于python实现的textrank算法 python版本:2.7.14 文件夹‘candidates’和‘conferences’是数据集 文件夹‘keywords-candidates-textrank’和‘可以words-conferences-textrank’存放运行结果 运行: ...
  • Python中的HackerRank问题解决 描述 由于解决编码问题是我最喜欢做的事情之一,每当我有空的时候,我都会登录并开始解决挑战,因此该存储库使用我最喜欢的编程语言来解决我在HackerRank上某些选定的编程问题的解决...
  • 我对Hackerrank Python域挑战的解决方案。 如果您被卡在某个地方,这些代码可能会抢先一步! 如果您有更好的代码(我喜欢可读代码而不是短划线),请发送请求请求。 可以在这里找到挑战 奖励:我创建了Hackerrank...
  • Python-hackerrank代码
  • HackerRank_Python 黑客等级Python Python基础 类型是自动推断的。
  • 今天小编就为大家分享一篇python3中rank函数的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • HackerRank-Python-源码

    2021-03-08 06:37:31
    HackerRank-Python
  • HackerRank_Python-源码

    2021-02-16 17:05:53
    HackerRank_Python
  • Pythonrank()函数

    2021-03-18 14:20:46
    借用网上的一个例子: ...obj.rank() obj输出: 0 7 1 -5 2 7 3 4 4 2 5 0 6 4 从小到大排序输出: 1 -5 2 0 3 2 4 4 5 4 6 7 7 7 obj.rank()输出: 0 6.5 obj中位置0处是7,而排序后7在6和7的

    借用网上的一个例子:

    import pandas as pd
    obj = pd.Series([7,-5,7,4,2,0,4])
    obj.rank()
    obj输出:
    0    7
    1    -5
    2    7
    3    4
    4    2
    5    0
    6    4
    
    
    从小到大排序输出:
    1    -5
    2    0
    3    2
    4    4
    5    4
    6    7
    7    7
    
    
    obj.rank()输出:
    0    6.5            obj中位置0处是7,而排序后7在6和7的位置,所以该处=(6+7)/2=6.5
    1    1.0            obj中位置1处是-5,而排序后-5在1的位置,所以该处即为1.0
    2    6.5            同上个7所述
    3    4.5            obj中位3处是4,而排序后4在4和5的位置,所以该处=(4+5)/2=4.5
    4    3.0            obj中位置4处是2,而排序后2在3的位置,所以该处即为3.0
    5    2.0            obj中位置5处是0,而排序后0在2的位置,所以该处即为2.0
    6    4.5            同上个4所述

     

    展开全文
  • python pandas rank()详解

    千次阅读 2019-11-14 15:41:08
    Series.rank(axis=0,method='average',numeric_only=None,na_option='keep',ascending=True,pct=False) 该方法用来排名(名次值从1开始),它可以根据某种规则破坏平级关系, 默认情况下,让人情况下( method='...

    目录

    1 函数原型

    2 各参数的作用

    1.1 axis

    1.2 method

    3 ascending

    4 na_option

    5 pct名次是否为百分数

    6 实例讲解

    6.1 DataFrame 原始数据

    6.1 默认情况下

    6.2 根据值在原数据中出现的顺序排名

    6.3 为各组分配一个最小排名

    6.3 为各组分配一个最大排名

    6.4 为各组分配一个稠密度计算后的排名

    6.5 按降序进行排名

    6.6 axis参数

    6.6.1 原始数据

    6.6.2 默认排序 axis=0



    rank方法的作用是计算出axis方向上各个data的排名(指出这些data排好序后的名次)

    1 函数原型

    Series.rank(axis=0,method='average',numeric_only=None,na_option='keep',ascending=True,pct=False)
    该方法用来排名(名次值从1开始),它可以根据某种规则破坏平级关系,
    默认情况下,让人情况下(method='average'),rank通过“为各组分配一个平均排名”的方式破坏平级关系。

    2 各参数的作用

    1.1 axis

    axis:{0 or 'index',1 or 'columns'} default 0

    即默认按沿着index方向排名

    1.2 method

    method:{'average','min','max','first','dense'}
    指定排名时用于破坏平级关系的method选项(注:值相同的位同一个分组)

    method 说明
    'average' 默认:在相等分组中,为各个值分配平均排名
    'min' 使用整个整个分组的最小排名
    'max' 使用整个分组的最大排名
    'first' 按值在原始数据中的出现顺序分配排名
    'dense' 与'min'类似,但是排名每次只会增加1,即并列的数据只占据一个名次

    3 ascending

    是否为升序,默认为True

    na_option

    用于处理NaN值

    na_option 说明
    'keep' leave NA values where they are
    'top' smallest rank if ascending
    'bottom'

    smallest rank if dscending

    pct名次是否为百分数

     

    6 实例讲解

    6.1 DataFrame 原始数据

    dft=pd.Series([9,-1,9,6,3,0,6])
    dft
    
     

    6.1 默认情况下

    rank是通过“为各组分配一个平均排名”的方式破坏平级关系的

    为各组分配一个平均排名

    dft.rank()
    
     

    笔算过程:

     

    6.2 根据值在原数据中出现的顺序排名

    b不为各组分配任何排名,不改变原有排名

    method="first"

    笔算过程:

    6.3 为各组分配一个最小排名

    method="min"

    笔算过程:

    6.3 为各组分配一个最大排名

    method="dense"

    笔算过程:

    6.4 为各组分配一个稠密度计算后的排名

    method="dense"

    笔算过程:

    6.5 按降序进行排名

    ascending=False 默认都是升序排序

    笔算过程

    6.6 axis参数

    6.6.1 原始数据

    6.6.2 默认排序 axis=0

    按索引列排序,也就是纵向每个字段的值看成一组进行排序

    df2.rank()

    df2.rank(axis=0)

    根据上面的理解基础

    分别对 

         b 列 5 7 -3 2 排序 3.0 4.0 1.0 2.0

         a列0 1 0 1   排序 1.5 3.5 1.5 3.5 

         c列-2 5 8 -3 排序 2.0 3.0 4.0 1.0

    然后就输出成下面这样了

        

    6.6.3 axis=1排序

    这种必须是(m,n)数组

    m>=1 n>1

    df2.rank(axis=1)

    字段行排序,也就是把每一行当成一组分别进行排序

    分别对:

    0 行 5 0 -2 排序 

    3.0 2.0 1.0

    1 行 7 1 5 排序

    3.0 1.0 2.0

    2 行 -3 0 8 排序

    1.0 2.0 3.0

    3 行 2 1 -3 排序

    3.0 2.0 1.0

    然后就输出成下面这样了

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • python实现TextRank算法:TextRank算法基于PageRank,用于为文本生成关键字和摘要。 资源里有代码以及测试数据和测试结果
  • Hackerrank Python挑战
  • TextRank的一个纯Python实现用于文件摘要
  • hackerrank_python HackerRank练习和测试...
  • 一个基于python实现的textrank算法范例,注:运行过程可能会提示相关包未安装,按照报错提示依次安装所需要的包即可。  适用于python2.7,文件夹‘candidates’和‘conferences’是数据集  文件夹‘keywords-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,934
精华内容 13,973
关键字:

pythonrank

python 订阅