Pandas를 사용하여 날짜 열과 일 수 열을 기반으로 데이터 프레임에 행을 추가하는 방법

베드로

데이터 프레임 열에서 시작 날짜를 사용하고 다른 열의 일 수에서 데이터 프레임에 행을 추가하는 방법을 알고 싶습니다. 매일 새로운 날짜.

기본적으로이 데이터 프레임을 바꾸려고합니다.

df = pd.DataFrame({
                    'Name':['Peter', 'Peter', 'Peter', 'Peter'],
                    'Planned_Start':['1/1/2019', '1/2/2019', '1/15/2019', '1/2/2019'], 
                    'Duration':[2, 3, 5, 6], 
                    'Hrs':[0.6, 1, 1.2, 0.3]}) 

...이 데이터 프레임에 :

df_2 = pd.DataFrame({
                    'Name':['Peter', 'Peter', 'Peter', 'Peter', 'Peter', 'Peter', 'Peter', 'Peter'],
                    'Date':['1/1/2019', '1/2/2019', '1/2/2019', '1/3/2019', '1/4/2019','1/10/2019', '1/15/2019', '1/16/2019'], 
                    'Hrs':[0.6, 0.6, 1, 1, 1, 1.2, 0.3, 0.3]}) 

나는 일반적으로 프로그래밍에 익숙하지 않으며 다음을 시도했습니다.

df_2 = pd.DataFrame({
    'date': pd.date_range(
    start = df.Planned_Start,
    end = pd.to_timedelta(df.Duration, unit='D'),
    freq = 'D'
    )
})

... 그리고 ...

df["date"] = df.Planned_Start + timedelta(int(df.Duration))

운이 없다.

줄리안

df_2가 내가 볼 수있는 것에서 약간 잘못 보이기 때문에 달성하려는 것이 무엇인지 잘 모르겠습니다.

기간 열을 일로 취하고이 많은 날짜를 날짜 열에 추가하려면 아래 코드가이를 달성합니다.

pd.Series.drop()메서드를 사용 하여 필요하지 않은 열을 삭제할 수도 있습니다 .

df = pd.DataFrame({
                    'Name':['Peter', 'Peter', 'Peter', 'Peter'],
                    'Planned_Start':['1/1/2019', '1/2/2019', '1/15/2019', '1/2/2019'], 
                    'Duration':[2, 3, 5, 6], 
                    'Hrs':[0.6, 1, 1.2, 0.3]}) 

df_new = pd.DataFrame()
for i, row in df.iterrows():
  for duration in range(row.Duration):
      date = pd.Series([pd.datetime.strptime(row.Planned_Start, '%m/%d/%Y') + timedelta(days=duration)], index=['date'])
      newrow = row.append(date)
      df_new = df_new.append(newrow, ignore_index=True)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관