반응형
판다스(pandas) 행 사이 빈 행 집어 넣기, 중간중간에 빈행 집어 넣기¶
- 예시 데이터 만드는 코드 입니다.
In [2]:
import pandas as pd
df = pd.DataFrame({
"y1" : [2, 0, 3, 4, 4, 3, 10, 2, 3, 4],
"y2" : [2, 2, 10, 4, 4, 3, 2, 2, 0, 4]
})
df
Out[2]:
| y1 | y2 | |
|---|---|---|
| 0 | 2 | 2 |
| 1 | 0 | 2 |
| 2 | 3 | 10 |
| 3 | 4 | 4 |
| 4 | 4 | 4 |
| 5 | 3 | 3 |
| 6 | 10 | 2 |
| 7 | 2 | 2 |
| 8 | 3 | 0 |
| 9 | 4 | 4 |
- 행 사이에 nan 값이 들어 있는 행을 집어넣는 코드 입니다
- 반복문을 통해 df의
- 비어있는 새로운 행을 만듭니다.
- 추출한 행과 새로운 행을 순서대로 리스트에 넣어 줍니다.
- 리시트를 concat으로 합칩니다.
In [3]:
df_list = []
for i in range(len(df)):
if i+1 != len(df):
#한줄의 행을 df_temp 데이터 프레임으로 선언합니다.
df_temp = df[i:i+1]
#df_temp를 df_list에 넣습니다.
df_list.append(df_temp)
#내용이 없는 한줄의 행을 empty 데이터 프레임으로 선언합니다.
empty = pd.DataFrame(index=range(0,1), columns=df.columns)
#empty를 df_list에 넣습니다.
df_list.append(empty)
else:
# 마지막줄에 empty 를 넣지 않기 위한 코드 입니다.
df_temp = df[i:i+1]
df_list.append(df_temp)
pd.concat(df_list).reset_index(drop=True)
Out[3]:
| y1 | y2 | |
|---|---|---|
| 0 | 2 | 2 |
| 1 | NaN | NaN |
| 2 | 0 | 2 |
| 3 | NaN | NaN |
| 4 | 3 | 10 |
| 5 | NaN | NaN |
| 6 | 4 | 4 |
| 7 | NaN | NaN |
| 8 | 4 | 4 |
| 9 | NaN | NaN |
| 10 | 3 | 3 |
| 11 | NaN | NaN |
| 12 | 10 | 2 |
| 13 | NaN | NaN |
| 14 | 2 | 2 |
| 15 | NaN | NaN |
| 16 | 3 | 0 |
| 17 | NaN | NaN |
| 18 | 4 | 4 |
[참고] 기타 판다스 기능
반응형
'python' 카테고리의 다른 글
| 테스트용 cctv 데이터, 테스트용 스트리밍 주소, rtsp (0) | 2023.03.28 |
|---|---|
| 파이썬 이미지 외곽선 추출 (opencv, canny) (0) | 2023.03.28 |
| 파이썬 랜덤 정수 생성 random.randint (0) | 2023.03.26 |
| 파이썬 랜덤 소수 생성 random.uniform random float (0) | 2023.03.25 |
| 파이토치 어레이를 텐서 타입으로 array to tensor pytorch (0) | 2023.03.24 |
댓글