반응형
ignore_index = True
가 작동하지 않는 것처럼 보이므로 데이터 프레임을 열 바인딩하고 pandas concat
에 문제가 있습니다.
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3'],
'D': ['D0', 'D1', 'D2', 'D3']},
index=[0, 2, 3,4])
df2 = pd.DataFrame({'A1': ['A4', 'A5', 'A6', 'A7'],
'C': ['C4', 'C5', 'C6', 'C7'],
'D2': ['D4', 'D5', 'D6', 'D7']},
index=[ 5, 6, 7,3])
df1
# A B D
# 0 A0 B0 D0
# 2 A1 B1 D1
# 3 A2 B2 D2
# 4 A3 B3 D3
df2
# A1 C D2
# 5 A4 C4 D4
# 6 A5 C5 D5
# 7 A6 C6 D6
# 3 A7 C7 D7
dfs = [df1,df2]
df = pd.concat( dfs,axis=1,ignore_index=True)
print df
결과는
0 1 2 3 4 5
0 A0 B0 D0 NaN NaN NaN
2 A1 B1 D1 NaN NaN NaN
3 A2 B2 D2 A7 C7 D7
4 A3 B3 D3 NaN NaN NaN
5 NaN NaN NaN A4 C4 D4
6 NaN NaN NaN A5 C5 D5
7 NaN NaN NaN A6 C6 D6
인덱스를 재설정해도
df1.reset_index()
df2.reset_index()
그리고 시도
pd.concat([df1,df2],axis=1)
여전히 동일한 결과를 생성합니다!
해결 방법
내가 당신을 정확하게 이해했다면, 이것이 당신이하고 싶은 일입니다.
import pandas as pd
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3'],
'D': ['D0', 'D1', 'D2', 'D3']},
index=[0, 2, 3,4])
df2 = pd.DataFrame({'A1': ['A4', 'A5', 'A6', 'A7'],
'C': ['C4', 'C5', 'C6', 'C7'],
'D2': ['D4', 'D5', 'D6', 'D7']},
index=[ 4, 5, 6 ,7])
df1.reset_index(drop=True, inplace=True)
df2.reset_index(drop=True, inplace=True)
df = pd.concat( [df1, df2], axis=1)
다음을 제공합니다.
A B D A1 C D2
0 A0 B0 D0 A4 C4 D4
1 A1 B1 D1 A5 C5 D5
2 A2 B2 D2 A6 C6 D6
3 A3 B3 D3 A7 C7 D7
실제로 df = pd.concat (dfs, axis = 1, ignore_index = True)
가 동일한 결과를 제공한다고 예상했을 것입니다.
다음은 jreback 의 훌륭한 설명입니다.
ignore_index = True
'무시', 결합하는 축에 정렬되지 않음을 의미합니다. 전달 된 순서대로 함께 붙여 넣은 다음 실제 색인의 범위를 다시 할당합니다 (예 :range (len (index))
). 따라서 겹치지 않는 인덱스 (예에서axis = 1
가정)에 대한 조인의 차이점은ignore_index = False
(기본값)를 사용하면 인덱스와ignore_index = True
를 사용하면 범위를 얻을 수 있습니다.
참조 페이지 https://stackoverflow.com/questions/32801806
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python-쉼표로 구분 된 목록 출력 (0) | 2020.11.17 |
---|---|
파이썬 Python 3.5의 PyCrypto (0) | 2020.11.17 |
파이썬 파일의 각 줄을 포함하는 목록 만들기 (0) | 2020.11.17 |
파이썬 나는 계속해서 'WSGIRequest'개체에 django에 'Get'속성이 없습니다. (0) | 2020.11.17 |
파이썬 Windows 백그라운드 프로세스로 Python 스크립트 실행 (1) | 2020.11.17 |
댓글