반응형
Pandas에서 연속 행의 차이로 인한 열 추가
이와 같은 데이터 프레임이 있다고 가정 해 보겠습니다.
A B
0 a b
1 c d
2 e f
3 g h
0,1,2,3은 시간이고, a, c, e, g는 하나의 시계열이고 b, d, f, h는 다른 시계열입니다. 특정 열에 대한 연속 행의 차이를 계산하여 얻은 원래 데이터 프레임에 두 개의 열을 추가 할 수 있어야합니다.
그래서 이런 게 필요 해요
A B dA
0 a b (a-c)
1 c d (c-e)
2 e f (e-g)
3 g h Nan
데이터 프레임 / 시리즈에서 diff라는 것을 보았지만 첫 번째 요소에서 Nan이 될 때와 약간 다르게 수행됩니다.
shift를 사용하십시오 .
df['dA'] = df['A'] - df['A'].shift(-1)
인수 로 사용 diff
하고 전달할 수 있습니다 .-1
periods
>>> df = pd.DataFrame({"A": [9, 4, 2, 1], "B": [12, 7, 5, 4]})
>>> df["dA"] = df["A"].diff(-1)
>>> df
A B dA
0 9 12 5
1 4 7 2
2 2 5 1
3 1 4 NaN
[4 rows x 3 columns]
CSV에서 데이터를 사용할 때 이것은 완벽하게 작동합니다.
my_data = pd.read_csv('sale_data.csv')
df = pd.DataFrame(my_data)
df['New_column'] = df['target_column'].diff(1)
print(df) #for the console but not necessary
롤링 차이는 다음과 같이 계산할 수도 있습니다.
df=pd.DataFrame(my_data)
my_data = pd.read_csv('sales_data.csv')
i=0
j=1
while j < len(df['Target_column']):
j=df['Target_column'][i+1] - df['Target_column'][i] #the difference btwn two values in a column.
i+=1 #move to the next value in the column.
j+=1 #next value in the new column.
print(j)
반응형
'program story' 카테고리의 다른 글
TypeError : worker ()는 0 개의 위치 인자를 받지만 1이 주어졌습니다. (0) | 2021.01.06 |
---|---|
'System.Web.Http.GlobalConfiguration'의 형식 이니셜 라이저에서 예외가 발생했습니다. (0) | 2021.01.06 |
Go에서 배열을 슬라이스로 변환 (0) | 2021.01.06 |
Chart.js — 임의의 수직선 그리기 (0) | 2021.01.06 |
Django FileField : 파일 이름 만 반환하는 방법 (템플릿에서) (0) | 2021.01.05 |