【发布时间】:2020-07-09 13:59:09
【问题描述】:
我正在重组数据。该过程包含两个任务:
- 通过对 groupby 求和插入新行。
- 创建一个新列Level。
我在图 1 和图 2 中插入了预期的输出。
数据框包含多个列。示例数据框如下:
df = pd.DataFrame()
df ['Competition']= ['EPL','EPL','EPL','EPL','EPL','EPL','EPL','EPL','EPL','EPL']
df ['Player']= ['Bruno','Bruno','Bruno','Bruno','Bruno','Bruno','Bruno','Bruno','Bruno','Bruno']
df ['template'] = ['Def','Def','Pass','Pass','Actions','Actions','Attk','Attk','Other','Other']
df ['Stats'] = ['Def duels', ' ','Back passes', ' ','Dribbles', ' ','Goal','Assist','Possession Losses','Possession Losses [own half]']
df ['Stat1'] = [' ', 'Def duels Won',' ', 'Back passes[Acc]',' ', 'Dribbles[Suc]',' ',' ',' ',' ']
df ['Value'] = [5,2.5,60,55,5,2,2,1,3,1]
我想通过 Competition、Player、Template 列使用 group 对值求和。该值将作为新行插入到现有行的正上方。预期的数据框如下:
基于上述日期框架,我想创建一个新列Level如下:
> The Level as defined as follow: level= 1 if blank or no data in the
> columns **Stats,Stats1** level= 2 if blank or no data in the columns
> **Stats1** level= 3 if data in the columns **Stats1**
我该怎么做?
【问题讨论】:
-
最后一行看起来不对
-
嗨对不起,它应该是 2。我会更新它。谢谢
标签: python pandas pandas-groupby transform