반응형
판다 데이터 프레임에서 이름 없는 열 제거
아래와 같이 A-G 열의 데이터 파일을 가지고 있지만, 제가 있습니다.pd.read_csv('data.csv')여분을 인쇄합니다.unnamed이유 없이 끝에 있는 열.
colA ColB colC colD colE colF colG Unnamed: 7
44 45 26 26 40 26 46 NaN
47 16 38 47 48 22 37 NaN
19 28 36 18 40 18 46 NaN
50 14 12 33 12 44 23 NaN
39 47 16 42 33 48 38 NaN
제 데이터 파일을 여러 번 보았지만 다른 열에는 추가 데이터가 없습니다.읽는 동안 이 여분의 열을 어떻게 제거해야 합니까?감사해요.
df = df.loc[:, ~df.columns.str.contains('^Unnamed')]
In [162]: df
Out[162]:
colA ColB colC colD colE colF colG
0 44 45 26 26 40 26 46
1 47 16 38 47 48 22 37
2 19 28 36 18 40 18 46
3 50 14 12 33 12 44 23
4 39 47 16 42 33 48 38
참고: 이름이 지정되지 않은 열이 하나만 있는 경우가 많습니다.Unnamed: 0CSV 파일의 첫 번째 열입니다.이는 다음 단계의 결과입니다.
- 데이터 프레임이 매개 변수를 사용하여 CSV 파일에 저장됩니다.
index=True이것이 기본 동작입니다. - 다음을 사용하여 이 CSV 파일을 데이터 프레임에 읽습니다.
pd.read_csv()명시적으로 명시하지 않고index_col=0(기본값:index_col=None)
이 열을 제거하는 가장 쉬운 방법은 매개 변수를 지정하는 것입니다.pd.read_csv(..., index_col=0):
df = pd.read_csv('data.csv', index_col=0)
먼저 '이름 없음' 열을 찾은 다음 해당 열을 삭제합니다.참고: 추가해야 합니다.inplace = True에게.drop매개 변수도 지정합니다.
df.drop(df.columns[df.columns.str.contains('unnamed',case = False)],axis = 1, inplace = True)
함수는 결측값을 제거합니다(예:NaN,NaT).
예를 들어, 다음 코드는 데이터 프레임에서 해당 열의 모든 요소가 누락된 열을 제거합니다.
df.dropna(how='all', axis='columns')
제 경우에는 승인된 솔루션이 작동하지 않으므로, 제 솔루션은 다음과 같습니다.
''' The column name in the example case is "Unnamed: 7"
but it works with any other name ("Unnamed: 0" for example). '''
df.rename({"Unnamed: 7":"a"}, axis="columns", inplace=True)
# Then, drop the column as usual.
df.drop(["a"], axis=1, inplace=True)
다른 사람들에게 도움이 되길 바랍니다.
언급URL : https://stackoverflow.com/questions/43983622/remove-unnamed-columns-in-pandas-dataframe
반응형
'programing' 카테고리의 다른 글
| 전달된 배열의 C 크기 (0) | 2023.08.02 |
|---|---|
| 비활성화된 텍스트 상자를 사용한 모델 바인딩 (0) | 2023.08.02 |
| 데이터 테이블 페이지를 사용하려면 어떻게 해야 합니까? (0) | 2023.08.02 |
| 간단한 php 함수에서 "의존성 주입"을 어떻게 사용할 수 있으며, 번거롭게 해야 합니까? (0) | 2023.08.02 |
| PowerShell - 시스템 디코딩.보안.읽을 수 있는 암호에 대한 SecureString (0) | 2023.08.02 |