首页 > 解决方案 > 在 PYTHON 中以特定的值组合组合不同长度的列表

问题描述

我有以下两个列表:

团队名单:

['FC Bayern München',
 'FC Bayern München',
 'FC Bayern München',
 'FC Bayern München',
 'FC Bayern München',
 'RasenBallsport Leipzig',
 'RasenBallsport Leipzig',
 'RasenBallsport Leipzig']

错过的游戏列表:

[1.0, 8.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 2.0, 2.0, 1.0]

我想要的是以下内容:每当错过的比赛列表的值为“零”时,我不希望有一个团队名称,我希望那里有“NA”之类的东西。原因是在我正在抓取的网站上,当玩家没有错过任何比赛时,没有显示团队名称,但实际上应该是NA才能实现我的目标!

数据框/元组中的结果应如下所示:

1.0, Bayern München 
         
8.0, Bayern München

1.0, Bayern München

0.0, NA

0.0, NA

1.0, Bayern München

1.0, Bayern München

0.0, NA

2.0, RasenBallsport Leipzig

2.0, RasenBallsport Leipzig

1.0, RasenBallsport Leipzig

非常感谢您的帮助!

标签: pythonlistdataframeloopsweb-scraping

解决方案


尝试:

team_list = [
    "FC Bayern München",
    "FC Bayern München",
    "FC Bayern München",
    "FC Bayern München",
    "FC Bayern München",
    "RasenBallsport Leipzig",
    "RasenBallsport Leipzig",
    "RasenBallsport Leipzig",
]

missed_game_list = [1.0, 8.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 2.0, 2.0, 1.0]

df = pd.DataFrame({"Missed Game": missed_game_list, "Team": np.nan})
df.loc[df["Missed Game"] != 0, "Team"] = team_list
print(df)

印刷:

    Missed Game                    Team
0           1.0       FC Bayern München
1           8.0       FC Bayern München
2           1.0       FC Bayern München
3           0.0                     NaN
4           0.0                     NaN
5           1.0       FC Bayern München
6           1.0       FC Bayern München
7           0.0                     NaN
8           2.0  RasenBallsport Leipzig
9           2.0  RasenBallsport Leipzig
10          1.0  RasenBallsport Leipzig

推荐阅读