지역에 대한 다른 호출을 자세히 설명하는 아래와 같은 팬더 데이터 프레임이 있습니다.
commsdate | 지역 | day0 증분 | day1 증분 | day2 증분 |
---|---|---|---|---|
01/01/24 | 판매 | 43 | 36 | 29 |
01/01/24 | 서비스 | 85 | 74 | 66 |
02/01/24 | 판매 | 56 | 42 | 31 |
02/01/24 | 서비스 | 73 | 62 | 49 |
03/01/24 | 판매 | 48 | 32 | 24 |
03/01/24 | 서비스 | 67 | 58 | 46 |
날짜별로 접수된 콜수를 계산하려고 하니 1월 1일에 접수된 판매 콜은 해당 날짜의 day0_incremental(43)이 되고, 1월 2일은 1월 2일의 day0에 1월 1일의 day1(36+) 56)이 됩니다. 1월 3일은 1월 3일의 day0에 1월 2일의 day1을 더한 값(48+42+29)이 되어 다음 데이터 프레임이 됩니다.
통화날짜 | 판매 | 서비스 |
---|---|---|
01/01/24 | 43 | 85 |
02/01/24 | 92 | 147 |
03/01/24 | 119 | 195 |
04/01/24 | 63 | 107 |
05/01/24 | 24 | 46 |
영역 열 아래에 값이 없는 두 번째 테이블에 대한 데이터 프레임의 셸을 성공적으로 생성했지만 다음에 무엇을 해야 할지 모르겠습니다:
으아악for 루프를 작성하기 시작했지만 여기까지만 진행했습니다.
df['commsdate'] = pd.to_datetime(df['commsdate'], format='%d/%m/%y') areaunique = df['area'].unique().tolist() from datetime import timedelta calldate = pd.date_range(start=min(df['commsdate']), end=max(df['commsdate'])+timedelta(days=6), freq='d') data = {area: [] for area in areaunique} dfnew = pd.dataframe(data) dfnew['calldate'] = calldate dfnew = dfnew.melt(id_vars=['calldate'], var_name='area') dfnew = dfnew.pivot(index='calldate', columns='area', values='value') dfnew = dfnew.reset_index() dfnew = dfnew[['calldate'] + areaunique]
또는 dayx …
字符串中提取的数字以编程方式使用 functools.reduce
에서 사용:
출력:
으아악위 내용은 팬더와 조건부 병합의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!