2016-06-15 15 views
1

Ich versuche, einen Datenrahmen aus einer Web-API zu extrahieren und kann nicht herausfinden, wie Spalten zu brechen. Für Heim- und Auswärts haben sie Ausfälle in ihnen, so sollte lesen Heimsiege, Startseite Unentschieden usw.Spalten innerhalb einer Spalte

url = "http://api.football-data.org/v1/soccerseasons/398/leagueTable/?matchday=38" 
response = requests.get(url) 
response_json = response.content 
result = json.loads(response_json) 
football = pd.DataFrame(result['standing'], columns=['position','teamName','playedGames','wins','draws','losses','goals', 
               'goalsAgainst','home','away','goalDifference','points']) 
football 

football.home 

das Problem zeigt:

0  {u'wins': 12, u'losses': 1, u'draws': 6, u'goa... 
+1

Könnten Sie ein klareres Beispiel für gewünschten Ausgang vs Strom aus stellen? Es ist ein bisschen schwer zu sagen, was Sie im Moment wollen. – River

+0

sicher, sorry ... mein Dataframe zeigt alle Spalten wie oben vorgeschlagen, mit zum Beispiel der erste Datensatz zeigt: Position "1", TeamName "Leceister", playedGames "38" etc usw., bis es nach Hause kommt, wo es zeigt : {u'wins ': 12, du gewinnst': 1, zieht 'zurück: 6, u'ziele usw. (offensichtlich sollte der tatsächliche Spaltenaufriss lauten:' Heimsiege ';' Heimverluste ';' Heimspiele ') usw., aber zeigt nur als eine einzelne Spalte –

Antwort

0

Ich glaube, Sie json_normalize verwenden können:

import pandas as pd 
import json 
import requests 
from pandas.io.json import json_normalize 

url = "http://api.football-data.org/v1/soccerseasons/398/leagueTable/?matchday=38" 

result = json.loads(requests.get(url).text) 
#print (result) 

df = json_normalize(result["standing"]) 
print (df) 
           _links.team.href away.draws away.goals \ 
0 http://api.football-data.org/v1/teams/338   6   33 
1  http://api.football-data.org/v1/teams/57   7   34 
2  http://api.football-data.org/v1/teams/73   7   34 
3  http://api.football-data.org/v1/teams/65   7   24 
4  http://api.football-data.org/v1/teams/66   4   22 
5 http://api.football-data.org/v1/teams/340   6   20 
6 http://api.football-data.org/v1/teams/563   7   31 
7  http://api.football-data.org/v1/teams/64   4   30 
8  http://api.football-data.org/v1/teams/70   5   19 
9  http://api.football-data.org/v1/teams/61   5   27 
10 http://api.football-data.org/v1/teams/62   9   24 
11 http://api.football-data.org/v1/teams/72   5   22 
12 http://api.football-data.org/v1/teams/346   3   20 
13 http://api.football-data.org/v1/teams/74   8   14 
14 http://api.football-data.org/v1/teams/354   6   20 
15 http://api.football-data.org/v1/teams/1044   4   22 
16 http://api.football-data.org/v1/teams/71   6   25 
17 http://api.football-data.org/v1/teams/67   3   12 
18 http://api.football-data.org/v1/teams/68   2   13 
19 http://api.football-data.org/v1/teams/58   3   13 

    away.goalsAgainst away.losses away.wins \ 
0     18   2   11 
1     25   4   8 
2     20   3   9 
3     20   5   7 
4     26   8   7 
5     19   6   7 
6     25   5   7 
7     28   7   8 
8     31   8   6 
9     23   7   7 
10     25   5   5 
11     32   10   4 
12     31   10   6 
13     22   7   4 
14     28   8   5 
15     33   9   6 
16     42   10   3 
17     41   14   2 
18     37   14   3 
19     41   15   1 

              crestURI draws goalDifference \ 
0 http://upload.wikimedia.org/wikipedia/en/6/63/...  12    32 
1 http://upload.wikimedia.org/wikipedia/en/5/53/...  11    29 
2 http://upload.wikimedia.org/wikipedia/de/b/b4/...  13    34 
3 http://upload.wikimedia.org/wikipedia/de/f/fd/...  9    30 
4 http://upload.wikimedia.org/wikipedia/de/d/da/...  9    14 
5 http://upload.wikimedia.org/wikipedia/de/c/c9/...  9    18 
6 http://upload.wikimedia.org/wikipedia/de/e/e0/...  14    14 
7 http://upload.wikimedia.org/wikipedia/de/0/0a/...  12    13 
8 http://upload.wikimedia.org/wikipedia/de/a/a3/...  9    -14 
9 http://upload.wikimedia.org/wikipedia/de/5/5c/...  14    6 
10 http://upload.wikimedia.org/wikipedia/de/f/f9/...  14    4 
11 http://upload.wikimedia.org/wikipedia/de/a/ab/...  11    -10 
12 https://upload.wikimedia.org/wikipedia/en/e/e2...  9    -10 
13 http://upload.wikimedia.org/wikipedia/de/8/8b/...  13    -14 
14 http://upload.wikimedia.org/wikipedia/de/b/bf/...  9    -12 
15 https://upload.wikimedia.org/wikipedia/de/4/41...  9    -22 
16 http://upload.wikimedia.org/wikipedia/de/6/60/...  12    -14 
17 http://upload.wikimedia.org/wikipedia/de/5/56/...  10    -21 
18 http://upload.wikimedia.org/wikipedia/de/8/8c/...  7    -28 
19 http://upload.wikimedia.org/wikipedia/de/9/9f/...  8    -49 

    goals ... home.goals home.goalsAgainst home.losses home.wins \ 
0  68 ...   35     18   1   12 
1  65 ...   31     11   3   12 
2  69 ...   35     15   3   10 
3  71 ...   47     21   5   12 
4  49 ...   27     9   2   12 
5  59 ...   39     22   5   11 
6  65 ...   34     26   3   9 
7  63 ...   33     22   3   8 
8  41 ...   22     24   7   8 
9  59 ...   32     30   5   5 
10  59 ...   35     30   8   6 
11  42 ...   20     20   5   8 
12  40 ...   20     19   7   6 
13  34 ...   20     26   8   6 
14  39 ...   19     23   10   6 
15  45 ...   23     34   9   5 
16  48 ...   23     20   7   6 
17  44 ...   32     24   5   7 
18  39 ...   26     30   8   6 
19  27 ...   14     35   12   2 

    losses playedGames points position     teamName wins 
0  3   38  81   1  Leicester City FC 23 
1  7   38  71   2    Arsenal FC 20 
2  6   38  70   3  Tottenham Hotspur FC 19 
3  10   38  66   4  Manchester City FC 19 
4  10   38  66   5  Manchester United FC 19 
5  11   38  63   6   Southampton FC 18 
6  8   38  62   7  West Ham United FC 16 
7  10   38  60   8    Liverpool FC 16 
8  15   38  51   9   Stoke City FC 14 
9  12   38  50  10    Chelsea FC 12 
10  13   38  47  11    Everton FC 11 
11  15   38  47  12   Swansea City FC 12 
12  17   38  45  13    Watford FC 12 
13  15   38  43  14 West Bromwich Albion FC 10 
14  18   38  42  15  Crystal Palace FC 11 
15  18   38  42  16   AFC Bournemouth 11 
16  17   38  39  17   Sunderland AFC  9 
17  19   38  37  18  Newcastle United FC  9 
18  22   38  34  19   Norwich City FC  9 
19  27   38  17  20   Aston Villa FC  3 

[20 rows x 22 columns] 
Verwandte Themen