반응형
Pandas 데이터 프레임 열을 정수가 아닌 문자열로 가져 오기
다음 csv를 int64가 아닌 문자열로 가져오고 싶습니다. Pandas read_csv는 자동으로 int64로 변환하지만이 열은 문자열로 필요합니다.
ID
00013007854817840016671868
00013007854817840016749251
00013007854817840016754630
00013007854817840016781876
00013007854817840017028824
00013007854817840017963235
00013007854817840018860166
df = read_csv('sample.csv')
df.ID
>>
0 -9223372036854775808
1 -9223372036854775808
2 -9223372036854775808
3 -9223372036854775808
4 -9223372036854775808
5 -9223372036854775808
6 -9223372036854775808
Name: ID
불행히도 변환기를 사용하면 동일한 결과를 얻을 수 있습니다.
df = read_csv('sample.csv', converters={'ID': str})
df.ID
>>
0 -9223372036854775808
1 -9223372036854775808
2 -9223372036854775808
3 -9223372036854775808
4 -9223372036854775808
5 -9223372036854775808
6 -9223372036854775808
Name: ID
이것은 판다> = 0.9.1에서 작동합니다.
In [2]: read_csv('sample.csv', dtype={'ID': object})
Out[2]:
ID
0 00013007854817840016671868
1 00013007854817840016749251
2 00013007854817840016754630
3 00013007854817840016781876
4 00013007854817840017028824
5 00013007854817840017963235
6 00013007854817840018860166
정수 오버플로 감지에 대한 문제도 만들고 있습니다.
편집 : 여기에서 해결 방법 참조 : https://github.com/pydata/pandas/issues/2247
이것은 아마도 가장 우아한 방법은 아니지만 작업을 완료합니다.
In[1]: import numpy as np
In[2]: import pandas as pd
In[3]: df = pd.DataFrame(np.genfromtxt('/Users/spencerlyon2/Desktop/test.csv', dtype=str)[1:], columns=['ID'])
In[4]: df
Out[4]:
ID
0 00013007854817840016671868
1 00013007854817840016749251
2 00013007854817840016754630
3 00013007854817840016781876
4 00013007854817840017028824
5 00013007854817840017963235
6 00013007854817840018860166
'/Users/spencerlyon2/Desktop/test.csv'
파일 경로로 바꾸 십시오.
참고 URL : https://stackoverflow.com/questions/13293810/import-pandas-dataframe-column-as-string-not-int
반응형
'Program Tip' 카테고리의 다른 글
메서드 내에서 변수 대신 const를 사용할 때의 이점 (0) | 2020.11.01 |
---|---|
Javadoc에서 여러 수준의 들여 쓰기를 만드는 방법은 무엇입니까? (0) | 2020.11.01 |
웹 사이트에서 사용자 정의 글꼴을 사용하려면 어떻게합니까? (0) | 2020.11.01 |
MongoDB, 배열에서 객체 제거 (0) | 2020.11.01 |
DIV의 "위치"속성의 기본값은 무엇입니까? (0) | 2020.11.01 |