Size: a a a

Язык программирования Julia / Julia programming language

2020 September 10

BM

Baurzhan M in Язык программирования Julia / Julia programming language
но я так понимаю в джулия датафрейме никакой индекс не поддерживатся, ни для колонок ни для строк, а только названия колонок и номера строк. нельзя назначить произвольную колонку индексом?
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
Baurzhan M
но я так понимаю в джулия датафрейме никакой индекс не поддерживатся, ни для колонок ни для строк, а только названия колонок и номера строк. нельзя назначить произвольную колонку индексом?
using DataFrames
df = DataFrame(A = 1:4, B = ["M", "F", "F", "M"])

julia> df[2, :]
DataFrameRow
│ Row │ A     │ B      │
│     │ Int64 │ String │
├─────┼───────┼────────┤
│ 2   │ 2     │ F      │
источник

BM

Baurzhan M in Язык программирования Julia / Julia programming language
Ну это то да
источник

BM

Baurzhan M in Язык программирования Julia / Julia programming language
>>> import numpy as np
>>> import pandas as pd

>>> columns = pd.MultiIndex.from_arrays([['temp', 'temp', 'pres', 'pres'], ['c', 'd', 'c', 'd']])
>>> df = pd.DataFrame(np.random.rand(4,4), columns=columns)
>>> df
      temp                pres
         c         d         c         d
0  0.920183  0.500487  0.291872  0.630810
1  0.948785  0.807231  0.633463  0.275747
2  0.152211  0.552550  0.354046  0.113952
3  0.339638  0.929830  0.597120  0.849660
>>> df.xs('d', axis=1, level=1)
      temp      pres
0  0.500487  0.630810
1  0.807231  0.275747
2  0.552550  0.113952
3  0.929830  0.849660
источник

BM

Baurzhan M in Язык программирования Julia / Julia programming language
а вот такой выборкой часто пользуюсь например.
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
df[[1,2], :]

Такое тоже поддерживается. Синтаксис из pandas прокомментировать не могу. Питоном не пользуюсь
источник

BM

Baurzhan M in Язык программирования Julia / Julia programming language
Ну так я по имени выбираю же, конкретно позиции не знаю.
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
julia> df = DataFrame(A = 1:4, B = ["M", "F", "F", "M"])
4×2 DataFrame
│ Row │ A     │ B      │
│     │ Int64 │ String │
├─────┼───────┼────────┤
│ 1   │ 1     │ M      │
│ 2   │ 2     │ F      │
│ 3   │ 3     │ F      │
│ 4   │ 4     │ M      │

julia> df[:, :B]
4-element Array{String,1}:
"M"
"F"
"F"
"M"
источник

RS

Roman Samarev in Язык программирования Julia / Julia programming language
И даже:
julia> df[:, [:B,:A]]

4×2 DataFrame
│ Row │ B      │ A     │
│     │ String │ Int64 │
├─────┼────────┼───────┤
│ 1   │ M      │ 1     │
│ 2   │ F      │ 2     │
│ 3   │ F      │ 3     │
│ 4   │ M      │ 4     │
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
Andrey
Речь шла про API, так вот в этих библиотеках он хотя бы есть:) И data.table производительнее всего на свете
Странно, что data.table есть только для R, вроде бы ядро написано на C, а R - это только обертка.
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Вроде бы на последних тестах DataFrame показал себя не  хуже чем data.table.

Ну и вроде как без нужды в Джулии обёрток вокруг C не пишут, если есть своё, родное.
источник

A

Andrey in Язык программирования Julia / Julia programming language
Viktor G.
Странно, что data.table есть только для R, вроде бы ядро написано на C, а R - это только обертка.
Не совсем так. И порт на питон есть, но это именно порт
источник

VG

Viktor G. in Язык программирования Julia / Julia programming language
Скажем, не хотят делать стандартные пакеты обертками над С, поэтому HTTP.jl сделали целиком на Julia, и до сих пор нет HTTP/2, потому что его лучше сделать именно оберткой над чем-то готовым. Проблема в том, что если есть проверенные либы на C, то нет смысла тратить время, переписывая большой проект на Julia.
источник

A

Andrey in Язык программирования Julia / Julia programming language
Viktor G.
Скажем, не хотят делать стандартные пакеты обертками над С, поэтому HTTP.jl сделали целиком на Julia, и до сих пор нет HTTP/2, потому что его лучше сделать именно оберткой над чем-то готовым. Проблема в том, что если есть проверенные либы на C, то нет смысла тратить время, переписывая большой проект на Julia.
+100500
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Насколько я помню, DataFrames.jl появились чуть ли не вместе с Julia (могу ошибаться, но вроде бы уже существовал где-то в районе версии 0.3), поэтому потом уже жалко было бросать.

Ну и честно говоря, я не очень представляю, что там такого есть в data.table. То, что требует высокой скорости это достаточно маленькое ядро, отлично реализующееся на Джулии нативно. А большая часть всего остального - это обёртка, которая как раз достаточно сложная (потому что надо аккуратно скрестить с диспатчем и типизацией).
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Допускаю, что есть какое-то внутреннее представление для данных, но тогда это засада полная, потому что подозреваю туда не пропихнёшь ничего мало-мальски нестандартного.
источник

A

Andrey in Язык программирования Julia / Julia programming language
Андрей Оськин
Допускаю, что есть какое-то внутреннее представление для данных, но тогда это засада полная, потому что подозреваю туда не пропихнёшь ничего мало-мальски нестандартного.
Именно в data.table все пропихивается, внутри указатели и in-place модификация
источник

АО

Андрей Оськин... in Язык программирования Julia / Julia programming language
Может быть.
Но всё равно, выглядит достаточно чужеродным.

Но на самом деле ответ простой - тех, кому это было бы нужно, просто не нашлось. Энтузиастам интереснее было пилить нативные датафреймы, а остальные на стали писать эту обёртку.
источник
2020 September 11

ББ

Борис Бакулин... in Язык программирования Julia / Julia programming language
Уважаемые коллеги не подскажете как на julia создать телеграм-чат со своим интерфейсом ?
источник

AZ

Aleksey Zhdanov in Язык программирования Julia / Julia programming language
Борис Бакулин
Уважаемые коллеги не подскажете как на julia создать телеграм-чат со своим интерфейсом ?
Отдельный клиент?
источник