0
に基づいて増分番号を持つデータフレームで新しい列を作成し、以下のパンダのデータフレームを考えてみましょう:別の列
from pandas import Timestamp
df = pd.DataFrame({
'day': [Timestamp('2017-03-27'),
Timestamp('2017-03-27'),
Timestamp('2017-04-01'),
Timestamp('2017-04-03'),
Timestamp('2017-04-06'),
Timestamp('2017-04-07'),
Timestamp('2017-04-11'),
Timestamp('2017-05-01'),
Timestamp('2017-05-01')],
'act_id': ['916298883',
'916806776',
'923496071',
'926539428',
'930641527',
'931935227',
'937765185',
'966163233',
'966417205']
})
ご覧の通り、7日に分布する9つの固有のIDがあります。
私は2つの新しい列を追加する方法を探しています。
- 最初の列:
それぞれの新しい日の増分番号。例えば、等 '2017年3月27日'(同じ日の同じ数)のための1、 '2017年4月1日' の2、 '2017年4月3日' 3、
- 第2列:
1日あたりの新しいact_idの増分数。 '916298883' の例えば1等(同じ日の2017年3月27日」にリンクされている) '916806776' の2、 '923496071' の1、 '926539428' の1、
最終的な表は次のようになりますthis
私は既にapplyと関数を使って最初の列を作成しようとしましたが、動作しません。
#Create helper function to give index number to a new column
counter = 1
def giveFlag(x):
global counter
index = counter
counter+=1
return index
そして:
# Create day flagger column
df_helper['day_no'] = df_helper['day'].apply(lambda x: giveFlag(x))
ありがとうございました!あなたは私が期待していたよりシンプルにしました。 – oikonang