У меня есть серия pandas, s1, и я хочу создать новую серию s2, применяя функцию, которая принимает два входа для создания одного нового значения. Эта функция будет применена к 2-значному окну на s1. Полученная серия s2 должна иметь меньшее значение, чем s1. Есть много способов сделать это, но я ищу способ сделать это очень эффективно. Это на Linux, и в настоящее время я запускаю python 2.7 и 3.4 и pandas 15.2, хотя я могу обновить pandas, если это необходимо. Вот упрощение моей проблемы. Моя серия состоит из музыкальных смол, представленных в виде строк.Сделайте серию pandas, запустив функцию во всех смежных значениях
import pandas
s1 = pandas.Series(['C4', 'E-4', 'G4', 'A-4')
Я хотел бы использовать эту функцию:
def interval_func(event1, event2):
ev1 = music21.note.Note(event1)
ev2 = music21.note.Note(event2)
intrvl = music21.interval.Interval(ev1, ev2)
return intrvl.name
На s1 и смещенную версию s1, чтобы получить следующую серию:
s2 = pandas.Series(['m3', 'M3', 'm2'])
Неправильное 'apply' может принимать пользовательские функции или лямбда и может принимать параметры 0-N, вам нужно лучше определить вашу проблему с необработанными данными, кодом и желаемым результатом. – EdChum