Size: a a a

2020 May 07

IS

Irina Saribekova in PyData SPb
Всем привет!
Помогите мне плиз, можете ответить анонимно на 6 вопросов про сообщество?
Собираю сегодня до 22:00 мск.
Если интересно, потом поделюсь статистикой =)
https://forms.gle/WEUWig4C6bKDqk9L7
источник
2020 May 15

J

Jukov in PyData SPb
добрый день

в рамках своей вкр разработал систему классификации на спарке на небольшом домашнем кластере. Захотелось углубиться в понимание и на набить скилуху в hadoop, spark и тд. Какие можно книги почитать на эту тему? (уже прочитал молниеносный анализ данных, hadoop for dummies(частями), и на различных ресурсах databrick и подобных поковырялся).

буду очень рад советам.
источник

I

I Апрельский... in PyData SPb
- Designing Data-Intensive Applications
- Agile Data Science 2.0

они не новые, но первая устареет не скоро, а во второй точка зрения тоже превалирует над стеком, на мой взгляд
источник
2020 June 04

E

Eugene in PyData SPb
В Pandas можно сделать такое с помощью индексации с максимальной производительностью?
df = pd.DataFrame({0: [1,5,2], 1: [4,2,3]}, index=list('abc'))

  0  1
a  1  4
b  5  2
c  2  3

# получаем серию с максимальным столбцом для каждой строки
m = df.idxmax(axis=1)

a    1
b    0
c    1

# делаем некую индексацию и получаем такой датафрейм с одним столбцом:

  0
a  4
b  5
c  3

То есть нужно вытащить в новую таблицу один столбец по argmax из исходной таблицы, для каждой строки.
Что-то я не смог это сделать сходу средствами индексации ([], loc, iloc).

В numpy я бы сделал так:
a = np.array([(1,4),(5,2),(2,3)])
array([[1, 4],
      [5, 2],
      [2, 3]])

m = a.argmax(axis=1)
array([1, 0, 1], dtype=int64)

b = a[range(a.shape[0]), m]
array([4, 5, 3])
источник

N

Nikolay in PyData SPb
Eugene
В Pandas можно сделать такое с помощью индексации с максимальной производительностью?
df = pd.DataFrame({0: [1,5,2], 1: [4,2,3]}, index=list('abc'))

  0  1
a  1  4
b  5  2
c  2  3

# получаем серию с максимальным столбцом для каждой строки
m = df.idxmax(axis=1)

a    1
b    0
c    1

# делаем некую индексацию и получаем такой датафрейм с одним столбцом:

  0
a  4
b  5
c  3

То есть нужно вытащить в новую таблицу один столбец по argmax из исходной таблицы, для каждой строки.
Что-то я не смог это сделать сходу средствами индексации ([], loc, iloc).

В numpy я бы сделал так:
a = np.array([(1,4),(5,2),(2,3)])
array([[1, 4],
      [5, 2],
      [2, 3]])

m = a.argmax(axis=1)
array([1, 0, 1], dtype=int64)

b = a[range(a.shape[0]), m]
array([4, 5, 3])
а просто df.max(axis=1) чем не подходит?
источник

E

Eugene in PyData SPb
Nikolay
а просто df.max(axis=1) чем не подходит?
Мне нужен сам максимальный столбец (его имя/индекс). Нахожу я его в одной таблице, а данные вытащить надо из другой (с таким же row-индексом). max тут не подойдёт.
источник

N

Nikolay in PyData SPb
Eugene
Мне нужен сам максимальный столбец (его имя/индекс). Нахожу я его в одной таблице, а данные вытащить надо из другой (с таким же row-индексом). max тут не подойдёт.
df.iloc[:, m] не сработает?
источник

N

Nikolay in PyData SPb
не проверял, но вдруг
источник

E

Eugene in PyData SPb
Nikolay
df.iloc[:, m] не сработает?
Я всё что только можно попробовал, ничего не работает так как нужно.

Конкретно этот код сделает вот такую таблицу:
   1  0  1
a  4  1  4
b  2  5  2
c  3  2  3


Я и вот так попробовал (аналогично numpy):
df.iloc[range(m.size), m]

Сделает то же самое, что и предыдущее. То есть работает не как в numpy :)
источник

E

Eugene in PyData SPb
В numpy, например, ещё есть функция take_along_axis, с которой можно сделать то же самое примерно:
np.take_along_axis(a, m[:, np.newaxis], axis=1)
array([[4],
      [5],
      [3]])


А в pandas нет такого :) и numpy-like индексация работает не совсем так как в numpy, оказывается. Делаю вывод, что базовых методов сделать то, что я хочу в pandas нет. Печально. :)
источник
2020 June 05

E

Eugene in PyData SPb
Нашел то, что нужно. Надо использовать метод lookup.
df.lookup(m.index, m)
array([4, 5, 3], dtype=int64)

возвращает numpy-массив. Ну и дальше уже тривиально обвернуть в Series с индексом и вставить в нужную таблицу.

Как же заморочено.
источник

N

Nikolay in PyData SPb
источник

AB

Aleksandr Borgardt in PyData SPb
Про голосйуйте за любимую технологию  https://twitter.com/deunderhood/status/1268838152464216064
источник

I

I Апрельский... in PyData SPb
интересно кто ими вообще пользуется
источник

AB

Aleksandr Borgardt in PyData SPb
Cuda ?
источник

I

I Апрельский... in PyData SPb
да
источник

AB

Aleksandr Borgardt in PyData SPb
Проголосовал ?
источник

I

I Апрельский... in PyData SPb
нет
источник

I

I Апрельский... in PyData SPb
я предполагаю, что ими тут если и пользуется, то 2 человека
источник

I

I Апрельский... in PyData SPb
как раз они и проголосовали видимо
источник