首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >列表中的嵌套字符串-需要拆分嵌套字符串以帮助将其转换为数据格式。

列表中的嵌套字符串-需要拆分嵌套字符串以帮助将其转换为数据格式。
EN

Stack Overflow用户
提问于 2019-11-30 22:09:22
回答 1查看 39关注 0票数 0

我正在用nba的数据做一个网络抓取项目。当我抓取的时候,我可以得到所有的信息。然而,所有的统计数据都是作为一个字符串返回的,它将所有的状态都放在一列中。我正试图撕开这条绳子。并在它自己的嵌套区域替换它。希望图像能更好地解释这一点。

我正在使用selenium从https://stats.nba.com/players/traditional/?sort=PTS&dir=-1中抓取网页,因为我计划点击所有的页面

到目前为止我所做的代码

下面是我正在处理的函数:在最后一行中,我希望用我创建的拆分版本替换z2。当我尝试z2 =z2.拆分(‘')时,我得到了错误AttributeError:'list’对象没有属性'split'

代码语言:javascript
运行
复制
new_split = []
for i in player:
    player_stats.append(i.text.split('\n'))
    for z in player_stats:
        new_split.append(z[2].split(' '))```
EN

回答 1

Stack Overflow用户

发布于 2019-11-30 22:33:08

如果第二列是字符串,则可以尝试将该字符串拆分为一个列表,将该列表的每个元素转换为一个系列,然后将这个新的数据框架与原始数据框架的前两列连接起来。

代码语言:javascript
运行
复制
df_stats = df["2"].apply(lambda x: x[0].split(" ")).apply(pd.Series)

df_end = pd.concat([df[["0","1"]].reset_index(drop=True), df_stats], axis=1)

示例:

代码语言:javascript
运行
复制
df = pd.DataFrame({"0": [1, 2],
                   "1": ["Name1", "Name2"],
                   "2":[["HOU 30 80"], ["LA 30 50"]]})

df_stats = df["2"].apply(lambda x: x[0].split(" ")).apply(pd.Series)

df_end = pd.concat([df[["0","1"]].reset_index(drop=True), df_stats], axis=1)

    0   1       0   1   2
0   1   Name1   HOU 30  80
1   2   Name2   LA  30  50
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59120714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档