2017-03-16 20 views
0

私は自分のデータを扱っています。 ここに私のデータです。グループは条件に基づいて

enter image description here

私はこのように私のコードを記述します。

complete_data = complete_data.groupby(['STDR_YM_CD', 'TRDAR_CD' ]).sum().reset_index() 

私はコード

enter image description here

を実行した後、画像以下のようなデータフレームを得た。しかし、私は絵下記のようなSVC_INDUTY_CD列内の文字の最初の3つの文字に基づいて値を集計したいです。ここで

enter image description here

私のデータリンクが http://blogattach.naver.com/c356df6c7f2127fbd539596759bfc1bd1848b453f1/20170316_215_blogfile/khm2963_1489653338468_dtPz6k_csv/test2.csv?type=attachment

感謝です事前

答えて

1

に私は良い方法があります確信しているが、これは、あなたがこれを行うことが一つの方法である:

complete_data['first_three_temp'] = complete_data['SVC_INDUTY_CD'].str[:3] 
complete_data = complete_data.groupby(['STDR_YM_CD', 'TRDAR_CD', 'first_three_temp' ], as_index=False).sum() 
complete_data.drop('first_three_temp', axis=1, inplace=True) 

これは、SVC_INDUTY_CDの最初の3文字のみを含む一時的な列を追加しますカラム。一時的な列をグループ化してドロップすることができます。私が言ったように、より効率的な方法があると確信していますので、データセットのサイズによって制限されるかどうかはわかりません。

+0

ありがとう~~私は問題を解決する力を持っています! –

+0

素晴らしい、喜んで助けてください。 –

関連する問題