2014-11-06 2 views
35

나는 팬더와 CSV를 만들려고 해요,하지만 난 CSV로 내보낼 때 그것은 팬더 to_csv 첫 번째 추가 열 제거, 방법?

d = {'one' : pd.Series([1., 2., 3.]),'two' : pd.Series([1., 2., 3., 4.])} 
df0_fa = pd.DataFrame(d) 
df_csv = df0_fa.to_csv('revenue/data/test.csv',mode = 'w') 

그래서 내 결과가 될 것이다 나에게 하나 개의 추가 행을 주었다

,one,two 
0,1.0,1.0 
1,2.0,2.0 
2,3.0,3.0 
3,,4.0 

하지만 내가 원하는 것은

입니다
one,two 
1.0,1.0 
2.0,2.0 
3.0,3.0 
,4.0 

답변

58

표시되는 내용은 색인 열입니다. 그냥 index=False을 설정

df_csv = df0_fa.to_csv('revenue/data/test.csv',mode = 'w', index=False) 
+1

설명서에이 글이 어떻게 표시되지 않았는지 잘 모르겠지만 대충 잡으십시오! 그것은 필자가 영원히 나를 좌절시켜 인덱스를 컬럼으로 추가 한 곳을 찾아 내려고했다. – Blairg23

+1

나는 내가 가지고 있어야하는 것보다 더 많은 것을 상대로 내 머리를 쾅쾅 소리 쳤다. –

+4

그리고 누구든지 열 이름을 제거하려고하는 경우'header = False'를 전달할 수 있습니다. – twiz

4

당신이 인덱스로 첫 번째 열을 사용하는 팬더를 방지하기 위해 index_col 설정을 해제 할 수 있습니다 색인없이 csv 파일을 읽을 수 있습니다. 그리고 csv를 디스크에 저장하는 동안 을 잊지 마세요. index = falseto_csv에 설정하십시오. 이렇게하면 추가 색인 열이 생성되지 않습니다. 당신의 CSV가 유효한 인덱스 컬럼을, 당신이 할 수있는 경우에도,이 경우

import pandas as pd 
file_path = 'example_file.csv' 
data_frame = pd.read_csv(file_path, index_col = False) 
column_name = 'column' 
data_frame = data_frame.drop(column_name, axis = 1) 
data_frame.to_csv(file_path, index = False) 

다음과 같이 삭제해야하는 경우 다른,/drop를 사용하여 데이터 프레임에서 특정 열을 제거, 그것은 나를 위해 일한 index_col = Falseread_csv으로 건너 뜁니다.