다음 DF가 있습니다.
ID
0 1.0
1 555555.0
2 NaN
3 200.0
ID 열을 Int64로 변환하려고 할 때 다음 오류가 발생했습니다.
Cannot convert non-finite values (NA or inf) to integer
이 문제를 해결하기 위해 다음 code를 사용했습니다.
df["ID"]= df["ID"].astype('int64', errors='ignore')
하지만 위의 code를 사용할 때 내 ID 열은float64
유형.
이 문제를 해결하기 위한 팁이 있습니까?
CSV 파일에 저장하려면 ID를 int 유형으로 변환하기만 하면 됩니다.
OdiumPura2021-12-13 14:09:58- 답변 # 1
사용
pd.Int64DType64
대신에np.int64
:df['ID']= df['ID'].fillna(pd.NA).astype(pd.Int64Dtype())
출력:
>>> df ID 0 1 1 555555 2 <NA>3 200 >>> df['ID'].dtype Int64Dtype() >>> df['ID'] + 10 0 11 1 555565 2 <NA>3 210 Name: ID, dtype: Int64 >>> print(df.to_csv(index=False)) ID 1 555555 "" 200
감사합니다, 귀하의 답변으로 내 문제가 해결되었습니다!
OdiumPura2021-12-13 14:12:29
이 칼럼으로 무엇을 하시겠습니까? 숫자 계산 또는 그냥 표시?
Corralien2021-12-13 14:06:37