私はpandas系列s1を持っています.2つの入力を取り込んで新しい値を作成する関数を適用して新しい系列s2を作成します。この関数は、s1の2値ウィンドウに適用されます。結果の系列s2は、s1よりも1つ少ない値を持つ必要があります。 これを達成する方法はたくさんありますが、私はそれを非常に効率的に行う方法を探しています。 これはLinux上であり、現在Python 2.7および3.4とpandas 15.2を実行していますが、必要ならpandasを更新できます。 ここに私の問題の簡素化があります。私のシリーズは、弦として表現されたミュージカルピッチで構成されています。隣接するすべての値に対して関数を実行してpandasシリーズを作成します。
import pandas
s1 = pandas.Series(['C4', 'E-4', 'G4', 'A-4')
私はこの機能を使用したいのですが、次のシリーズを取得するには、S1に
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のシフトバージョンを:あなたの編集に対応して
s2 = pandas.Series(['m3', 'M3', 'm2'])
を超える場合、私は驚くだろう'apply'が間違っていると、関数funcまたはlambdaを受け取り、0-Nパラメータを取ることができます。生データ、コード、および望ましい出力で問題をよりよく定義する必要があります – EdChum