[Python Pandas ] 짝수행에서 홀수행의 값을 빼는 연산 문의

조회수 1766회

time 홀수행의 값에서 짝수행의 값을 빼고난 후 새로운 데이타 프레임을 만들려고 합니다. 1행 - 0행 결과를 새로운 데이타 프레임의 0행으로 만들고 3행 - 2행 결과는 새로운 데이타 프레임의 1행으로 만들어 행의 마지막(len(data.Time) 8개)까지 연산하려고 합니다.

import pandas as pd
import numpy as np

raw_data = {'Time': [281.54385, 436.55295, 441.74910, 528.36445, 
                     974.48405, 980.67895, 986.65435, 1026.02485]}

data = pd.DataFrame(raw_data)
data

이미지

원하는 결과

이미지

pandas를 시작하는 초보라 많이 어렵습니다. 한 수 가르침 부탁드립니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

2 답변

  • Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license()" for more information.
    >>> import pandas as pd
    
    
    >>> raw_data = {'Time': [281.54385, 436.55295, 441.74910, 528.36445, 
                         974.48405, 980.67895, 986.65435, 1026.02485]}
    
    >>> data = pd.DataFrame(raw_data)
    >>> data
             Time
    0   281.54385
    1   436.55295
    2   441.74910
    3   528.36445
    4   974.48405
    5   980.67895
    6   986.65435
    7  1026.02485
    >>> data_odd = data[1::2]
    >>> data_odd
             Time
    1   436.55295
    3   528.36445
    5   980.67895
    7  1026.02485
    >>> data_even = data[::2]
    >>> data_even
            Time
    0  281.54385
    2  441.74910
    4  974.48405
    6  986.65435
    >>> data_diff = data_odd.reset_index() - data_even.reset_index()
    >>> data_diff
       index       Time
    0      1  155.00910
    1      1   86.61535
    2      1    6.19490
    3      1   39.37050
    >>> data_diff = data_diff[['Time']].rename(columns={'Time':'ON_TIME'})
    >>> data_diff
         ON_TIME
    0  155.00910
    1   86.61535
    2    6.19490
    3   39.37050
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)