itsource

판다는 머리털이 없는 테이블에서 책을 읽는다.

mycopycode 2022. 9. 25. 00:23
반응형

판다는 머리털이 없는 테이블에서 책을 읽는다.

팬더를 사용하여 .csv 파일(헤더 없음)과 열의 하위 집합(총 20개 열 중 4번째와 7번째 열)을 읽는 방법은 무엇입니까?할 수 없을 것 같다usecols

에서 csv를 읽으려면 헤더가 없고 특정 열에 대해서만 param을 전달해야 합니다.header=None그리고.usecols=[3,6]4번째 및 7번째 열의 경우:

df = pd.read_csv(file_path, header=None, usecols=[3,6])

문서를 참조해 주세요.

이전 답변은 정확하고 좋았지만, 제 생각에는 추가 답변이 있었습니다.names파라미터가 완벽해지므로 권장되는 방법으로 특히 csv에 파라미터가 존재하지 않는 경우headers.

솔루션

사용하다usecols그리고.names파라미터

df = pd.read_csv(file_path, usecols=[3,6], names=['colA', 'colB'])

추가 판독치

또는 사용header=None사람들에게 분명히 말할 수 있는 것은csv에는 헤더가 없습니다(두 행이 동일해야 합니다).

df = pd.read_csv(file_path, usecols=[3,6], names=['colA', 'colB'], header=None)

다음 방법으로 데이터를 검색할 수 있습니다.

# with `names` parameter
df['colA']
df['colB'] 

대신

# without `names` parameter
df[0]
df[1]

설명하라.

read_csv에 의거하여names이 경우 명시적으로 통과됩니다.header처럼 행동할 것이다None대신0, 건너뛸 수 있습니다.header=None언제names존재하다.

통과를 지정해야 합니다.header=None추가하다usecols=[3,6]4번째와 7번째 열에 대해.

문서 https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html : headerint, int 목록, 열 이름으로 사용할 기본 'default' 행 번호 및 데이터 시작.기본 동작은 열 이름을 추론하는 것입니다. 이름이 전달되지 않은 경우 동작은 header=0과 동일하며 열 이름은 파일의 첫 줄에서 추론됩니다. 열 이름이 명시적으로 전달된 경우 동작은 header=None과 동일합니다.기존 이름을 바꾸려면 header=0을 명시적으로 전달하십시오.헤더는 열의 다중 인덱스에 대한 행 위치를 지정하는 정수 목록일 수 있습니다(예: [0,1,3].지정되지 않은 행은 건너뜁니다(예: 이 예의 2는 건너뜁니다).이 파라미터는 skip_blank_lines=의 경우 코멘트된 행과 빈 행을 무시합니다.맞습니다. 따라서 header=0은 파일의 첫 번째 행이 아니라 첫 번째 행의 데이터를 나타냅니다.

namesarray와 같은 옵션인 사용할 열 이름 목록입니다.파일에 헤더 행이 포함되어 있으면 header=0을 명시적으로 전달하여 열 이름을 재정의해야 합니다.이 목록의 중복은 허용되지 않습니다.

columts = ['Day', 'PLMN', 'RNCname']
tempo = pd.read_csv("info.csv", sep=';', header=0, names=columts, index_col=False)

언급URL : https://stackoverflow.com/questions/29287224/pandas-read-in-table-without-headers

반응형