2013-11-20 2 views
40

다음 코드는 CSV 파일을 가져옵니다. 3 개의 열이 있으며 처음 두 변수를 변수로 설정하려고합니다. 두 번째 열을 "efficiency"변수로 설정하면 인덱스 열도 고정됩니다. 색인 열을 제거하려면 어떻게합니까? 나는 다른 포스트에서 발견 팬더에서 색인 열 제거

energy = df.index 

을 설정 한 후

df = pd.DataFrame.from_csv('Efficiency_Data.csv', header=0, parse_dates=False) 
energy = df.index 
efficiency = df.Efficiency 
print efficiency 

나는

del df['index'] 

사용하여 시도하지만 결과 "KeyError를 '인덱스'"

답변

27

데이터 프레임과 시리즈에는 항상 색인이 있습니다. 열 (들) 옆에 표시되지만 열이 아니기 때문에 del df [ 'index']가 작동하지 않습니다.

인덱스를 간단한 일련 번호로 바꾸려면 df.reset_index()을 사용하십시오. 나는 인덱스가 왜 사용되는지에 대한 감각을 얻기 위해 10 minutes to Pandas과 같은 팬더 문서를 조금 읽는 것이 좋습니다.

+0

감사합니다! 나는 그것을 판다를 사용하지 않는 다른 방법으로 가져 오기로 결정했습니다. 각 열에 대해 산술 연산을 수행해야하며 파이썬은 인덱스 열이 첨부 된 것을 선호하지 않습니다. 팬더는 확실히 데이터를 가져 오는 가장 쉬운 방법이지만, 내가 찾은 최선의 방법은 아닙니다. –

+0

계산을 수행하기 위해 팬더를 사용해 보셨습니까? –

+0

하나는 색인 이름을 제거 할 수 있습니까? – Quant

0

당신이 할 수있는을 from_csv 함수 index_col 매개 변수를 사용하여 csv 파일의 색인 인 열을 지정하십시오. if 이 문제는 해결되지 않습니다. 데이터 예제를 제공해주십시오.

1

열 머리글을 0에서 열 크기로 다시 설정하려는 문제가 동일한 경우. 수행

df = pd.DataFrame(df.values); 

편집 :

회원님이 이기종 데이터 유형이있는 경우 좋은 생각. 더 나은 단지

df.columns = range(len(df.columns)) 
73

과 CSV 파일에서 읽기 때문에 예를

df.to_csv(filename , index = False) 

과 CSV에서

df.read_csv(filename , index = False) 

을 읽고이 방지해야한다에 대한 = 거짓 인수 인덱스를 포함 사용 문제는 나중에 고칠 필요가 없습니다.

+2

고마워요. 정확히이 질문이 무엇을 찾고 있습니다. –

+0

"header = False"는 동일한 방식으로 헤더를 제거하는 데 사용됩니다. –

+0

json에 글을 쓸 때 어떻습니까 ?? – pyd

4

예를 들어 "id"일 경우 색인 중 하나를 색인으로 설정할 수 있습니다. 이 경우 색인 열은 선택한 열 중 하나로 대체됩니다.

df.set_index('id', inplace=True) 
0

df.reset_index (드롭 = 사실, 인플레 이스 = 참)