gpt4 book ai didi

python - 从循环中保存多个数据帧

转载 作者:太空宇宙 更新时间:2023-11-04 11:14:10 25 4
gpt4 key购买 nike

我一直在寻找我的问题的解决方案,但我找到的所有答案都在答案末尾使用 print(),而不是像我希望的那样保存数据帧。

下面我有一个(几乎)运行的代码,它打印 3 个单独的表。如何将这三个表保存在名称为 matches_october、matches_november 和 matches_december 的 3 个独立数据框中?

我的代码中的最后一行没有按我希望的那样运行。我希望很清楚我希望代码做什么(在循环的 3 轮中的每一轮结束时保存一个数据帧)

import pandas as pd
import requests
from bs4 import BeautifulSoup

base_url = 'https://www.basketball-reference.com/leagues/NBA_2019_games-'
valid_pages = ['october','november','december']
end = '.html'
for i in valid_pages:
url = '{}{}{}'.format(base_url, i, end)
res = requests.get(url)
soup = BeautifulSoup(res.content,'lxml')
table = soup.find_all('table')[0]
df = pd.read_html(str(table))
print(df)
matches + valid_pages = df[0]

最佳答案

你可以用 case,但这不是很健壮(而且相当丑陋)。

if i == 'october':
matches_october = pd.read_html(str(table))
if i == 'november':
# so on and so forth

一个更优雅的解决方案是使用字典。在循环之前,声明 matches = {}。然后,在每次迭代中:

matches[i] = pd.read_html(str(table))

然后您可以通过matches['october']访问十月比赛数据帧。

关于python - 从循环中保存多个数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57413150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com