단일 열의 모든 데이터가있는 Pandas 데이터 프레임을 여러 열로 변환하는 방법은 무엇입니까?

Bernard Esterhuyse

단일 목록으로 형식이 지정된 내 데이터가 포함 된 텍스트 파일이 있습니다. 데이터는 실제로 행과 열의 수이지만 형식은 단일 열입니다. 이것을 pandas 데이터 프레임으로 가져 왔으며이 데이터 프레임의 모양을 변경하고 싶습니다.

다음은 목록으로서의 데이터 형식입니다.

a1
b1
c1
d1
e1
a2
b2
c2
d2
e2
a3
b3
c3
d3
e3
etc...

원하는 형식은 다음과 같습니다.

"Heading 1"    "Heading 2"    "Heading 3"    "Heading 4"    "Heading 5" 
a1             b1             c1             d1             e1
a2             b2             c2             d2             e2
a3             b3             c3             d3             e3

팬더 스택 및 스택 해제 기능을 시도했지만 운이 없습니다. 나는 또한 numpy 배열을 사용해 보았지만 내 데이터에는 숫자와 문자열이 있으므로 제대로 작동하지 않습니다.

이스 르엘

먼저 튜플 목록을 만들고 DataFrame생성자에 전달할 수 있습니다 .

L = ['a1', 1, 'c1', 'd1', 'e1', 'a2', 2, 'c2', 'd2', 'e2', 'a3', 3, 'c3', 'd3', 'e3']

import itertools

#https://stackoverflow.com/a/1625013
def grouper(n, iterable, fillvalue=None):
    "grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
    args = [iter(iterable)] * n
    return itertools.zip_longest(*args, fillvalue=fillvalue)

print (list(grouper(5, L)))
[('a1', 1, 'c1', 'd1', 'e1'), ('a2', 2, 'c2', 'd2', 'e2'), ('a3', 3, 'c3', 'd3', 'e3')]

df = pd.DataFrame(list(grouper(5, L))).rename(columns = lambda x: f'Heading {x + 1}')
print (df)
  Heading 1  Heading 2 Heading 3 Heading 4 Heading 5
0        a1          1        c1        d1        e1
1        a2          2        c2        d2        e2
2        a3          3        c3        d3        e3

print (df.dtypes)
Heading 1    object
Heading 2     int64
Heading 3    object
Heading 4    object
Heading 5    object
dtype: object

모양을 변경하는 첫 번째 아이디어이지만 마지막으로 열을 숫자로 변환해야합니다.

df = pd.DataFrame(np.array(L).reshape(-1, 5)).rename(columns = lambda x: f'Heading {x + 1}')
print (df)
  Heading 1 Heading 2 Heading 3 Heading 4 Heading 5
0        a1         1        c1        d1        e1
1        a2         2        c2        d2        e2
2        a3         3        c3        d3        e3

print (df.dtypes)

Heading 1    object
Heading 2    object <- converted to object
Heading 3    object
Heading 4    object
Heading 5    object
dtype: object

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관