>source

일수를 수년로 변환하는 기능을 만들고 싶습니다. 내 데이터에서 고객의 나이가 수년 대신 며칠 이내에 주어집니다. 나는 그들의 나이에 대한 다른 정보가 없다. (DOB 없음)

이것은 내가 시도한 솔루션 중 하나입니다. DEF 변환 (age_in_days) : 나이= int [(age_in_days /365)] 나이를 반환합니다 변환 ([ 'age_in_days']) 그런 다음 기능을 호출합니다 변환 (데이터 [ 'age_in_days']) 내 출력은 다음과 같습니다. [신분증 1 31.041096. 2 83.038356. 3 44.024658. 4 65.021918. 5 53.041096. ...

79849 70.013699. 79850 46.019178. 79851 68.041096. 79852 30.024658. 79853 54.027397. 이름 : age_in_days, 길이 : 79853, dtype : float64] 당신이 볼 수 있듯이 나는 총 79853 개의 관찰을 가지고있다.

  1. 데이터 프레임으로 변환하려고하면 주요 데이터 세트에 추가 할 수 있습니다. PD.DataFrame (나이, 열= [ '연령']) 이것은 내가 얻는 것입니다 :

     age
    

AGE_IN_DAYS NAN.

및 그 외에도 계산 된 값을 내 데이터 세트에 추가해야합니다. 여기에 이미지 설명

  • 답변 # 1

    나는 일을 수 년으로 변환하기 위해 별도의 함수를 작성 해야하는 요구 사항이 있는지 확실하지 않습니다.

    우리는 팬더에서 팬더에서 똑같이 할 수 있습니다.

    샘플 입력 DF

    df= pd.DataFrame({
        'id':[11, 12],
        'age_in_day':[22643, 10262]
    })
        id  age_in_day
    0   11  22643
    1   12  10262
    

    두 옵션

    옵션 1 -code -팬더 방식

    df['age_in_years']= pd.to_timedelta(df.age_in_day, unit='D') /np.timedelta64(1,'Y')
    

    출력

      id  age_in_day  age_in_years
    0   11  22643       61.994428
    1   12  10262       28.096402
    

    옵션 2 -code -플로트 Div

    df['age_in_years']= df['age_in_day'] /365
    df
    

    출력

      id  age_in_day  age_in_years
    0   11  22643       62.035616
    1   12  10262       28.115068
    

    다른 옵션

    우리가 별도로목록 /시리즈(외부 기능에서 생성)연령우리가 기존 DF에 추가하려는 것은 무엇입니까? 그때

    시리즈

    0    62.035616
    1    28.115068
    Name: age_in_day, dtype: float64
    df['age_in_years']= age_Series
    

    목록

    age_list=[62.035616438356165, 28.115068493150684]
    df['age_in_years']= age_list
    

    옵션 1이 나에게 일했습니다, 감사합니다!

    Nora2021-05-04 20:09:36

    nw, 모든 최고!

    Uts2021-05-05 00:00:13
  • 이전 Python에서 쉘 명령을 실행하려고 할 때 출력 없음
  • 다음 android : Viper 아키텍처로 탐색 구성 요소를 사용하는 방법은 무엇입니까?