Sha256: fda77d797e70a36d87a834757b41f32990903f2de92946cab869814e75ae61ed

Contents?: true

Size: 1.07 KB

Versions: 22

Compression:

Stored size: 1.07 KB

Contents

module RbbtPython
  def self.py2ruby_a(array)
    PyCall::List.(array).to_a
  end

  class << self
    alias to_a py2ruby_a 
  end


  def self.tsv2df(tsv)
    df = nil
    RbbtPython.run 'pandas' do
      df = pandas.DataFrame.new(tsv.values, columns: tsv.fields, index: tsv.keys)
      df.columns.name = tsv.key_field
    end
    df
  end

  def self.df2tsv(tuple, options = {})
    options = Misc.add_defaults options, :type => :list
    IndiferentHash.setup options
    tsv = TSV.setup({}, options)
    tsv.key_field = options[:key_field] || tuple.columns.name
    tsv.fields = py2ruby_a(tuple.columns.values)
    keys = tuple.index.values
    PyCall.len(tuple.index).times do |i|
      k = keys[i]
      tsv[k] = py2ruby_a(tuple.values[i])
    end
    tsv
  end

  def self.list2ruby(list)
    return list unless PyCall::List === list 
    list.collect do |e|
      list2ruby(e)
    end
  end

  def self.numpy2ruby(numpy)
    list2ruby(numpy.tolist)
  end

  def self.obj2hash(obj)
    hash = {}
    RbbtPython.iterate obj.keys do |k|
      hash[k] = obj[k]
    end
    hash
  end

end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
rbbt-util-5.40.0 lib/rbbt/util/python/util.rb
rbbt-util-5.39.0 lib/rbbt/util/python/util.rb
rbbt-util-5.38.1 lib/rbbt/util/python/util.rb
rbbt-util-5.38.0 lib/rbbt/util/python/util.rb
rbbt-util-5.37.16 lib/rbbt/util/python/util.rb
rbbt-util-5.37.15 lib/rbbt/util/python/util.rb
rbbt-util-5.37.14 lib/rbbt/util/python/util.rb
rbbt-util-5.37.13 lib/rbbt/util/python/util.rb
rbbt-util-5.37.12 lib/rbbt/util/python/util.rb
rbbt-util-5.37.11 lib/rbbt/util/python/util.rb
rbbt-util-5.37.10 lib/rbbt/util/python/util.rb
rbbt-util-5.37.9 lib/rbbt/util/python/util.rb
rbbt-util-5.37.8 lib/rbbt/util/python/util.rb
rbbt-util-5.37.6 lib/rbbt/util/python/util.rb
rbbt-util-5.37.4 lib/rbbt/util/python/util.rb
rbbt-util-5.37.3 lib/rbbt/util/python/util.rb
rbbt-util-5.37.1 lib/rbbt/util/python/util.rb
rbbt-util-5.37.0 lib/rbbt/util/python/util.rb
rbbt-util-5.36.0 lib/rbbt/util/python/util.rb
rbbt-util-5.35.4 lib/rbbt/util/python/util.rb