>source

다음 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유형.

이 문제를 해결하기 위한 팁이 있습니까?

이 칼럼으로 무엇을 하시겠습니까? 숫자 계산 또는 그냥 표시?

Corralien2021-12-13 14:06:37

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
  • 이전 opencv python을 사용하여 닫힌 곡선에서 색상을 올바르게 채우는 방법
  • 다음 git : SourceTree는 항상 권한이 거부되었습니다(공개 키).