2017-08-03 7 views
-1

3つの値ごとに1つの列から選択したいと考えています。例えばパンダの列にあるn個の値を選択してください。

Input 
    12 
    73 
    56 
    33 
    16 


        output 
        12 
        73 
        56 
        ------ 
        73 
        56 
        33 
        ----- 
        56 
        33 
        16 

私はそれによってキー列とグループを追加しようとしましたが、私のデータフレームは、グループ化を実行するには大きすぎます。ここに私の試みは次のとおりです。

df.groupby('key').agg(lambda x: x.tolist()) 
+0

にリストを変換することができ、私はあなたの希望を理解していません出力。あなたは他の列と同じように新しい列の3倍の行を持っていませんか? –

+0

テーブル内の他のデータに関連する出力が必要ですか?リストでこれは非常に簡単です。 – asongtoruin

+0

正確に3倍ではありませんが、ウィンドウスライドの数にウィンドウサイズ(= 3)をかけたものです。それは私が望むものです。 – moreo

答えて

0

使用リストタイプの場合は、次のように行うことができます。この後

lst = [12,73,56,33,16] 
slide_size=3 
result = [] 

for i in range(0,len(lst)-slide_size+1): 
    result.append(lst[i:i+3]) 

result 

# output : [[12, 73, 56], [73, 56, 33], [56, 33, 16]] 

、あなたがデータフレーム

関連する問題