Pybaseball: извлекать данные о турнирной таблице и сохранять на диск с помощью панд - PullRequest
0 голосов
/ 04 сентября 2018

То, что я пытаюсь сделать, это взять этот вывод из pybaseball, который задан в виде списка.

[Tm W L W-L% ГБ 1 Бостон Ред Сокс 94 44 .681 - 2 Нью-Йорк Янкиз 86 51 .628]

и поместите его в CSV-файл, используя панд. Пока что это те запросы, которые я пробовал. У меня есть информация для этого вывода в виде данных. Всякий раз, когда я пытаюсь импортировать его из pd.DataFrame(), он говорит мне, что:

AttributeError: у объекта 'list' нет атрибута 'to_csv'.

Таким образом, я добавляю к этому фрейм данных, используя df = pd.Dataframe(data), и он печатает только заголовки

0 Команды W L W-L% ГБ 0 тм тм
1 Вт
2 л L
3 W-L% W-L%
4 ГБ ГБ

Как бы получить это, чтобы импортировать всю информацию из списка в CSV?

from pybaseball import standings
import pandas as pd

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

1 Ответ

0 голосов
/ 05 сентября 2018

Похоже, standings() возвращает list из dataframes:

from pybaseball import standings
import pandas as pd

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

Выход:

<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

И у вас будет файл baseball_data.csv, который представляет собой разделенное запятыми представление приведенного выше кадра данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...