Pybaseball:提取积分数据并使用熊猫保存到磁盘

时间:2018-09-04 03:51:55

标签: python pandas

我想做的是从pybaseball的输出中获取该输出,并将其作为列表设置。

  

[Tm W L W-L%GB 1波士顿红袜94 44 .681-2纽约洋基86 51 .628]

并使用pandas将其放入csv文件。到目前为止,这些是我尝试过的查询,我已将此输出信息设置为数据。每当我尝试从pd.DataFrame()导入它时,都会告诉我:

  

AttributeError:“列表”对象没有属性“ to_csv”。

因此,我使用df = pd.Dataframe(data)向其中添加了一个数据框,并且仅打印了标题

  

0队W L W-L%GB   0 Tm Tm
  1 W W
  2 L L
  3 W-L%W-L%
  4 GB GB

我将如何将列表中的所有信息导入csv?

from pybaseball import standings
import pandas as pd

data = standings()
data.to_csv('file.csv', header = True, sep = ',')

1 个答案:

答案 0 :(得分:0)

看起来像standings()返回了list的{​​{1}}:

dataframes

输出:

from pybaseball import standings
import pandas as pd

data = standings()
print type(data)
print type(data[0])

要将其写入文件,您需要将数据帧列表concatenate写入单个数据帧,然后再进行写入:

<type 'list'>
<class 'pandas.core.frame.DataFrame'>

输出:

all_data = pd.concat(data)
print all_data
all_data.to_csv("baseball_data.csv", sep=",", index=False)

您将拥有一个文件 Tm W L W-L% GB 1 Boston Red Sox 95 44 .683 -- 2 New York Yankees 86 52 .623 8.5 3 Tampa Bay Rays 74 63 .540 20.0 4 Toronto Blue Jays 62 75 .453 32.0 5 Baltimore Orioles 40 98 .290 54.5 1 Cleveland Indians 77 60 .562 -- 2 Minnesota Twins 63 74 .460 14.0 3 Chicago White Sox 56 82 .406 21.5 4 Detroit Tigers 55 83 .399 22.5 5 Kansas City Royals 46 91 .336 31.0 1 Houston Astros 85 53 .616 -- 2 Oakland Athletics 83 56 .597 2.5 3 Seattle Mariners 77 61 .558 8.0 4 Los Angeles Angels 67 71 .486 18.0 5 Texas Rangers 60 78 .435 25.0 1 Atlanta Braves 76 61 .555 -- 2 Philadelphia Phillies 72 65 .526 4.0 3 Washington Nationals 69 69 .500 7.5 4 New York Mets 62 75 .453 14.0 5 Miami Marlins 55 83 .399 21.5 1 Chicago Cubs 81 56 .591 -- 2 Milwaukee Brewers 78 61 .561 4.0 3 St. Louis Cardinals 76 62 .551 5.5 4 Pittsburgh Pirates 67 71 .486 14.5 5 Cincinnati Reds 59 79 .428 22.5 1 Colorado Rockies 75 62 .547 -- 2 Los Angeles Dodgers 75 63 .543 0.5 3 Arizona Diamondbacks 74 64 .536 1.5 4 San Francisco Giants 68 71 .489 8.0 5 San Diego Padres 55 85 .393 21.5 ,它是上面数据框的逗号分隔表示。