如何解决如何从对象创建Pandas DataFrame?
我正在学习使用MLB数据进行网页抓取。我只需要团队和WAR数据。我不确定如何仅解析我要查找的数据。我不希望团队记录或括号。任何帮助将不胜感激。
我的希望是创建具有所需输出的Pandas DataFrame。
所需数据:1)团队2))战争
所需的数据格式(如下):
WAR战队
ARI 1.3
ATL 1.87
BAL 2.60
BOS .43
import pandas as pd
url = 'https://www.baseball-reference.com/leagues/MLB/2020-team-starting-lineups.shtml'
test = pd.read_html(url)
for t in test:
team = t['Tm']
print(team)
我不确定如何解析多余的数据。在此先感谢您的时间和建议。 =)
解决方法
您可以使用Series.str.extract
从列中获取信息:
import pandas as pd
url = 'https://www.baseball-reference.com/leagues/MLB/2020-team-starting-lineups.shtml'
test = pd.read_html(url)
for t in test:
team = t['Tm'].str.extract(r'^(?P<Team>[A-Z]+).*?(?P<WAR>[^\s]+)\s*oWAR')
print(team)
打印:
Team WAR
0 ARI 1.31
1 ATL 1.87
2 BAL 2.60
3 BOS 0.43
4 CHC 2.64
5 CHW 3.09
6 CIN 0.75
7 CLE -0.81
8 COL 1.89
9 DET 1.40
10 HOU 1.64
11 KCR 0.74
12 LAA 0.58
13 LAD 4.51
14 MIA 1.34
15 MIL -1.00
16 MIN 2.66
17 NYM 3.58
18 NYY 3.24
19 OAK 3.11
20 PHI 2.12
21 PIT -1.89
22 SDP 2.65
23 SEA 0.67
24 SFG 1.05
25 STL 0.31
26 TBR 3.26
27 TEX 0.26
28 TOR 0.87
29 WSN 0.11
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。