以下に示すような pandas データフレームがあり、リージョンへの追加呼び出しの詳細が示されています。
###エリア### | 0日目の増分1日目の増分 | 2日目の増分 | ||
---|---|---|---|---|
43 | 36 | 29 | 01/01/24 | |
74 | 66 | 02/01/24 | 販売 | |
42 | 31 | 02/01/24 | ###サービス### | 73|
49 | 03/01/24 | 販売 | 48 | |
###24### | 03/01/24 | ###サービス### | 6758 | 46 |
日付ごとに受けた電話の数を計算しようとしているので、1 月 1 日に受けた営業電話はその日付の day0_incremental (43) となり、1 月 2 日は 1 月 2 日の day0 に 1 月 1 日の Day1 (36) を加えたものになります。 ) 56) そして、1 月 3 日は、1 月 3 日の day0、1 月 2 日の day1、および 1 月 1 日の day2 (48 42 29) となり、次のデータ フレームが得られます。 | 通話日 | 販売 | ###サービス###
01/01/24
85 | 02/01/24 | |
---|---|---|
03/01/24 | 119 | |
04/01/24 | 63 | |
05/01/24 | ###24###46 | |
範囲列の下に値がない 2 番目のテーブルのデータ フレームのシェルを正常に作成しましたが、次に何をすればよいかわかりません: | リーリー | 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] ログイン後にコピー |
pivot | #, |
追加
:
リーリー または、以上がパンダとの条件付きマージの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。