然后重新排列熊猫中的列

时间:2019-11-24 03:22:44

标签: python-3.x pandas dataframe

我抓取了既包含主队又包含对手的NBA游戏数据。

第一个数据帧(团队)很好。

我想复制数据,然后制作相同的数据框,但要作为对手作为主队。

这里是列名,为了使第二个重复的数据帧具有t的所有内容都变为o,而具有o的所有内容都变为t(O =对手,T =团队)

['Opponent_x','O1q_x','O2q_x','O3q_x','O4q_x','Oot','Ofinal_x', 'Team_x','T1q_x', 'T2q_x','T3q_x','T4q_x','Tot','Tfinal_x']

Opponent=['Wizards','25','23','33','22','0','103','Celtics','23','20', '27','32','0','102']
Team=['Celtics','23','20','27','32','0','102''Wizards','25','23', '33','22','0','103']

最终结果应为

['Wizards','25','23','33','22','0','103','Celtics','23','20', '27','32','0','102']
['Celtics','23','20','27','32','0','102''Wizards','25','23', '33','22','0','103']

所以我尝试过

Opponent.columns =['Team_x','T1q_x','T2q_x','T3q_x','T4q_x','Tot','Tfinal_x','Opponent_x', 'O1q_x','O2q_x','O3q_x','O4q_x','Oot','Ofinal_x']

All = pd.concat(Opponent,Team)

这不能提供正确的尺寸,并且某些数据没有移到正确的位置

2 个答案:

答案 0 :(得分:0)

从创建“阴影”数据框开始,其中“列的两半”:

df2 = pd.concat([df.iloc[:, 7:14], df.iloc[:, 0:7]], axis=1)

然后用原始列覆盖列名(在 df2 中):

df2.columns = df.columns

并获得将这两个连接在一起的最终结果:

result = pd.concat([df, df2])

也许最后您还应该将 result 中的列名更改为 除了 Team _... Opponent _... ,例如到 Team1 _... Team2 _... (您的选择)。

答案 1 :(得分:0)

在各列中找到console.log(response); await page.evaluate((response) => document.getElementById('myelement').innerHTML = response, response); 的整数位置。将此数字与Team_x一起使用,可将np.roll的列向左滚动,Team并重新分配列。

reindex