2016-11-06 3 views
1

パンダを使ってデータを整列してシフトさせて、Aで0を持つ余分な行を追加する最も効率的な方法は何ですか? B列の違いは、その下の差分に一致するようにデータをプッシュするために全体的なアイデア再帰AB < 2 ex.-python pandasを使ってデルタにマッチする余分な行をシフトして追加する方法

[Column A] [Diff A - B] [Column B] 
0    0    0 
4.54    4.54   0  <-- Need to add a 0 to shift 
4.54    0    4.54 
4.54    0    4.54 
4.54   -3.04   1.5 


    After added 
[Column A] [Diff A - B] [Column B] 
    0    0    0 
    0    0    0 
    0    -4.54   4.54 <--Recursive Need to do same 
    4.54    0    4.54 
    4.54    0    4.54 
    4.54   -3.04   1.5 

の違いを確認するために、2 ABSよりも高い場合。あなたが気付いた場合、私は列Aまたは列B

答えて

1
  • は前にデータフレームを分割し、
    df0, df1 = df.iloc[:1], df.iloc[1:]
  • 後に何のシリーズを作成する上2よりも高いdiffは絶対見つけるたびに追加し、シフトする必要がありますすべての3
    pd.concat([df0, s, df1], ignore_index=True)
CONCATENATE
  • s = pd.Series(0, df.columns).to_frame().T
    の間に行きます
    df0, df1 = df.iloc[:1], df.iloc[1:] 
    s = pd.Series(0, df.columns).to_frame().T 
    pd.concat([df0, s, df1], ignore_index=True) 
    

    enter image description here

    +0

    こんにちは答えるためのおかげで@piRSquared。しかし、私はすでに「Diff」カラムで差を短くするために、データに余分なゼロを追加するためにデータをどのようにシフトすることができるかについてもっと詳しく質問していましたが、再帰性はあまり良くありません –

    関連する問題