我有这样一个数据帧:
阵容栏的格式为“QB亚伦·罗杰斯、RB乔什·雅各布斯、RB波士顿斯科特、FLEX安东尼奥·吉布森、WR达凡特·亚当斯、WR亚当·蒂伦、WR艾伦·拉扎德、TE马克·安德鲁斯、DST爱国者”
我需要根据位置将列表列拆分为单独的列。
最终数据帧将如下所示:
我尝试过这一行代码:
df = pd.DataFrame(df.Lineup.str.split(' ').tolist(), columns = ['DST','FLEX','QB','RB1','RB2','TE','WR1','WR2','WR3'])
但是我犯了一个错误
Tags:
实际上,将
Lineup
列的格式设置为键和内容之间的差异将非常有用。在角色之间使用逗号,或者其他一些可以帮助简化解析的东西我确信有一种更优雅的方法来解决这类问题,但是,我设置了一个用指示符
['DST','FLEX','QB','RB','TE','WR']
键入的字典。在下面的代码中,我假设您的数据总是以3
和最后一个2
组的形式存在。如果这是一个不正确的假设,您需要更正程序的该部分该程序产生以下输出:
可以根据需要重新排列列
通过在位置上拆分,可以使用
regex
提取名称。然后通过压缩位置和名称创建一个dictionary
。结果可以转换为数据帧,然后与现有数据帧连接。要使用示例字符串,请执行以下操作:输出:
相关问题 更多 >
编程相关推荐