코드를 일반화 시키고 싶습니다~
조회수 1428회
제가 가지고 있는 DB를 Pandas로 읽어 온 결과입니다.
bound = pd.read_csv('bound.csv')
bound
저는 (10, 10) 짜리 데이터를 하나의 colume, 즉 (100, 1)의 자료로 만들고자 합니다.
new_bound = pd.concat([bound.Col1, bound.Col2, bound.Col3, bound.Col4, bound.Col5, bound.Col6, bound.Col7, bound.Col8, bound.Col9, bound.Col10], ignore_index=True, axis=0)
이렇게 코딩을 해서 하나의 컬럼으로 만들긴 했는데....
제가 실제로 다뤄야 하는 DB는 (640, 350) 짜리의 엄청 큰 자료거든요... ㅠㅠ
그래서 일반화를 시키고자 아래와 같이 for문으로 만들고 싶습니다.
bound = pd.read_csv('bound.csv')
row, col = bound.shape
new_bound = bound.Col1
for i in range(2, row+1):
new_bound = new_bound.append(bound.Coli)
append(bound.Coli) 이 부분에서 i가 계속 바뀌도록 하고 싶은데...
어떻게 해야 할까요 ㅠㅠ 도와주세요 ㅠㅠ
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
아래의 행렬이 있습니다.
a,b,c,d,e 1,2,3,4,5 1,2,3,4,5 1,2,3,4,5
이것의 전치행렬을 구하면
0 1 2 a 1 1 1 b 2 2 2 c 3 3 3 d 4 4 4 e 5 5 5
이렇게 됩니다.
이렇게 구한 전치행렬에서 행의 값을 차례로 추려주면
[1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5]
같이 얻을 수 있습니다,
import pandas as pd bound = pd.read_csv('sample.csv') bound_transpose = bound.transpose() print(bound_transpose) print([item for row in bound_transpose.get_values() for item in row]) 0 1 2 a 1 1 1 b 2 2 2 c 3 3 3 d 4 4 4 e 5 5 5 [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5]
댓글 입력