考虑以下pandas数据帧: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。在
我正在寻找一种方法来添加两个新列。在第一列:An increment number for each new day. For example 1 for '2017-03-27'(same number for same day), 2 for '2017-04-01', 3 for '2017-04-03', etc.第二栏:An increment number for each new act_id per day. For example 1 for '916298883', 2 for '916806776' (which is linked to the same day '2017-03-27'), 1 for '923496071', 1 for '926539428', etc.
最后一个表应该看起来像this
我已经尝试用apply和函数构建第一个专栏,但是它没有按预期工作。在
^{pr2}$
然后:
# Create day flagger column
df_helper['day_no'] = df_helper['day'].apply(lambda x: giveFlag(x))
最后
以上就是开朗裙子最近收集整理的关于python 新建一列_在dataframe中创建一个新列,该列基于另一列递增的全部内容,更多相关python内容请搜索靠谱客的其他文章。
发表评论 取消回复