2016-06-06 5 views
1

데이터 프레임의 인덱스 만 파일에 저장하려고합니다. 여기에 내가 무엇을 시도했다입니다 :파일에 팬더 데이터 프레임 인덱스 저장

A)

np.savetxt("file_name", df.index.values) 

반환 :

TypeError: Mismatch between array dtype ('object') and format specifier ('%.18e') 

B)

df.index.values.tofile("file_name") 

반환 :

IOError: cannot write object arrays to a file in binary mode 

C)

with open("file_name","w") as f: 
    f.write("\n".join(df_1_indexes.values.tolist())) 

누군가가 설명해 주시겠습니까 왜 A) 및 B) 실패? 나는 잃어 버렸다. 당신이 문자열이나 색인에 object의 someother 유형을 가지고 있기 때문에

건배

+1

어떤 종류의 개체가 색인을 구성하는지 알 수 있습니다. 'df.head(). index.values'와'type (df.index)'를 게시하십시오. – unutbu

+0

'array ([ 'A1BG', 'A1BG-AS1', 'A2LD1', 'A2M', 'A2ML1'], dtype = object)'및'pandas.indexes.base.Index'를 각각 나타냅니다. – WindChimes

답변

5

A의 오류는) 가능성이있다. np.savetxt의 기본 형식 지정자는 데이터가 float과 유사하다고 가정합니다. 나는 이것을 fmt='%s'으로 설정함으로써 해결할 수있다.

B)는 기본 예제 인 IndexMultiIndex을 사용하여 오류를 산출하지 않습니다. 오류는 아마도 색인의 특정 유형의 요소 때문일 수 있습니다.

인덱스 만 저장하는 것이 더 쉽고 안정적인 방법입니다. (어떻게 열 유사 색인에 이름이

df.to_csv('file_name', columns=[], header=False) 

경우 당신은 이름이 출력에 표시 할 : 당신은 출력에서 ​​모든 열을 억제 할 빈 목록으로 to_csvcolumns 매개 변수를 설정할 수 있습니다 이름이 나타나는 경우) 위 코드에서 header=False을 삭제하십시오.

관련 문제