2014-02-17 12 views
7

숫자가 몇 열이고 문자열이 몇 개인 CSV 파일이 있습니다. myDF.dtypes을 시도하면 모든 문자열 열이 object으로 표시됩니다.pandas dtype 객체에서 문자열로 변환

  1. 누군가가 관련 질문을하기 전에 here에게이 작업이 수행 된 이유에 대해 질문했습니다. dtype을 개체에서 문자열로 다시 작성할 수 있습니까?

  2. 또한, 일반적으로, int64에서 dtypefloat64int32float32 개주 및 (디스크/메모리)의 데이터 크기에 저장할 수있는 간편한 방법이

  3. ?

답변

3

모든 문자열은 가변 길이로 표시됩니다 (object dtype이 보유하고있는 것임). 원하는 경우 series.astype('S32') 할 수 있습니다. 하지만 DataFrame에 저장하거나 많은 작업을 수행하면 다시 작성됩니다. 이것은 단순성을위한 것입니다.

특정 일련 화 형식. HDFStore은 고정 길이 문자열을 디스크에 저장합니다.

원하는 경우 series.astype(int32)을 입력 할 수 있으며 새로운 유형으로 저장됩니다.

+0

로드 할 때 HDFstore를 통해 저장하기 전에 데이터 프레임에서 * 각 시리즈를 변경하고 그 반대로 변경하는 것이 좋습니다. – uday

+0

나중에 원하는 경우 또는 특정 유형의 팬 유형 개체를 만들 수 있습니다. 당신의 목표가 무엇인지 확실하지 않습니다. 왜 실제로 문자열 dtype을 신경 써야합니까? 왜 객체가 문제가 되는가? – Jeff

+0

@Jeff 함수를 작성했습니다. 객체 형식을보고 str이 표시되지 않기 때문에 출력으로 null을 제공합니다. 어떻게해야합니까? – Jack

0
df = your dataframe object with values 
print('dtype in object form :') 
print(df.dtypes[df.columns[0]]) // output: dtype('O') 
print('\ndtype in string') 
print(str(df.dtypes[df.columns[0]])) // output: 'object' 
관련 문제