반응형
판다스(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 |
댓글