반응형
판다스 이전 값 활용, 값 하나씩 올리기, dataframe.shift pandas¶
In [1]:
import pandas as pd
In [2]:
df = pd.DataFrame({"value" : [5, 10, 15, 20, 25 ,30]})
df
Out[2]:
value | |
---|---|
0 | 5 |
1 | 10 |
2 | 15 |
3 | 20 |
4 | 25 |
5 | 30 |
- 데이터의 인덱스를 원하는 수만큼 밀어내는 기능입니다.
shift
함수에 원하는 수를 입력합니다.
In [3]:
# 1칸을 밀고 싶을 때
df.shift(1)
Out[3]:
value | |
---|---|
0 | NaN |
1 | 5.0 |
2 | 10.0 |
3 | 15.0 |
4 | 20.0 |
5 | 25.0 |
In [4]:
# 2칸을 밀고 싶을 때
df.shift(2)
Out[4]:
value | |
---|---|
0 | NaN |
1 | NaN |
2 | 5.0 |
3 | 10.0 |
4 | 15.0 |
5 | 20.0 |
- 밀고난 후 값이 NaN 이 아닌 다른 값을 넣고 싶다면,
fill_value
옵션을 사용합니다.
In [5]:
# NaN 대신 0 사용
df.shift(2, fill_value=0)
Out[5]:
value | |
---|---|
0 | 0 |
1 | 0 |
2 | 5 |
3 | 10 |
4 | 15 |
5 | 20 |
- 밀고싶은 축인 인덱스가 아니고 컬럼을 때
axis
옵션에columns
을 입력 합니다.
In [6]:
df = pd.DataFrame({"value1" : [5, 10, 15, 20, 25 ,30],
"value2" : [3, 6, 9, 12, 15, 18],
"value3" : [22, 24, 26, 28, 30, 32]})
In [7]:
df.shift(1, axis="columns")
Out[7]:
value1 | value2 | value3 | |
---|---|---|---|
0 | NaN | 5 | 3 |
1 | NaN | 10 | 6 |
2 | NaN | 15 | 9 |
3 | NaN | 20 | 12 |
4 | NaN | 25 | 15 |
5 | NaN | 30 | 18 |
[참조] 기타 판다스 기능
반응형
'python' 카테고리의 다른 글
pillow crop, PIL 이미지 자르기, pillow 그림 자르기< (0) | 2023.02.25 |
---|---|
pandas 요약 describe 정보 info 컬럼보기 columns 타입보기 (0) | 2023.02.25 |
파이썬 sklearn 유방암 데이터 (load_breast_cancer), 머신러닝, 딥러닝 (0) | 2023.02.24 |
파이썬 sklearn 와인 데이터 불러오기 (load_wine), 머신러닝, 딥러닝 (0) | 2023.02.24 |
Numpy argmax 최대값 위치 추출 axis 옵션 활용 (0) | 2023.02.23 |
댓글