我正在尝试将http://dev.hsl.fi/tmp/citybikes/stations_20170503T071501Z上的数据解析为Pandas DataFrame.使用read_json给我一个dicts列表而不是一个正确的DataFrame,变量名称为列:
In [1]:
data = pd.read_json("http://dev.hsl.fi/tmp/citybikes/stations_20170503T071501Z")
print(data)
Out[1]:
result
0 {'name': '001 Kaivopuisto', 'coordinates': '60...
1 {'name': '002 Laivasillankatu', 'coordinates':...
.. ...
149 {'name': '160 Nokkala', 'coordinates': '60.147...
150 {'name': '997 Workshop Helsinki', 'coordinates...
[151 rows x 1 columns]
Run Code Online (Sandbox Code Playgroud)
所有orient选项都会发生这种情况 我试着json_normalize()无济于事,还有其他一些我在这里找到的东西.我怎么能把它变成一个合理的DataFrame?谢谢!
选项1在词典列表中
使用pd.DataFrame
pd.DataFrame(data['result'].values.tolist())
avl_bikes coordinates free_slots name operative style total_slots
0 12 60.155411,24.950391 18 001 Kaivopuisto True CB 30
1 3 60.159715,24.955212 9 002 Laivasillankatu True 12
2 0 60.158172,24.944808 16 003 Kapteeninpuistikko True 16
3 0 60.160944,24.941859 14 004 Viiskulma True 14
4 16 60.157935,24.936083 16 005 Sepänkatu True 32
Run Code Online (Sandbox Code Playgroud)
选项2
使用apply
data.result.apply(pd.Series)
avl_bikes coordinates free_slots name operative style total_slots
0 12 60.155411,24.950391 18 001 Kaivopuisto True CB 30
1 3 60.159715,24.955212 9 002 Laivasillankatu True 12
2 0 60.158172,24.944808 16 003 Kapteeninpuistikko True 16
3 0 60.160944,24.941859 14 004 Viiskulma True 14
4 16 60.157935,24.936083 16 005 Sepänkatu True 32
Run Code Online (Sandbox Code Playgroud)
选项3
或者你可以取json自己的并剥离出来results
import urllib, json
url = "http://dev.hsl.fi/tmp/citybikes/stations_20170503T071501Z"
response = urllib.request.urlopen(url)
data = json.loads(response.read())
df = pd.DataFrame(data['result'])
df
avl_bikes coordinates free_slots name operative style total_slots
0 12 60.155411,24.950391 18 001 Kaivopuisto True CB 30
1 3 60.159715,24.955212 9 002 Laivasillankatu True 12
2 0 60.158172,24.944808 16 003 Kapteeninpuistikko True 16
3 0 60.160944,24.941859 14 004 Viiskulma True 14
4 16 60.157935,24.936083 16 005 Sepänkatu True 32
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
193 次 |
| 最近记录: |