我正在使用一个api创建一个数据帧。我想将其导出为csv。到目前为止,数据帧结构是:
Lap 1 Lap 2 Lap 3 Lap 4 Lap 5
driver1 1:34.231 1:34.231 1:34.231 1:34.231 1:34.231
driver2 1:34.231 1:34.231 1:34.231 1:34.231 1:34.231
driver3 1:34.231 1:34.231 1:34.231 1:34.231 1:34.231
圈数达到64圈。司机人数是20人。 当我将其导出为csv然后导入时。我明白了:
Unnamed:0 Lap 1 Lap 2 Lap 3 Lap 4
0 driver1 1:34.231 1:34.231 1:34.231 1:34.231
1 driver2 1:34.231 1:34.231 1:34.231 1:34.231
2 driver3 1:34.231 1:34.231 1:34.231 1:34.231
如果我走对了方向,我需要一些帮助
到目前为止,我编写的代码是:
def arr_lap_times(driverId):
# Get JSON from API
url = 'http://ergast.com/api/f1/2020/last/drivers/' + driverId +'/laps.json?limit=63'
data = requests.get(url).json()
try:
# Get maximum of laps the driver did
lap_num = len(data['MRData']['RaceTable']['Races'][0]['Laps'])
lap = data['MRData']['RaceTable']['Races'][0]['Laps']
lap_times = []
# Adding all lap times into an array
for laps in range(lap_num):
# Get time of lap
timing = lap[laps]['Timings'][0]['time']
# Convert string into datetime
# Add lap times into array
lap_times.append(timing)
return lap_times
except IndexError:
#print(driverId + " didn't particpate in this race")
return []
获取2020赛季的车手名单
url = 'http://ergast.com/api/f1/2020/drivers.json'
data = requests.get(url).json()
driver_detail = data['MRData']['DriverTable']['Drivers']
num_of_drivers = len(driver_detail)
driverId_arr = []
for driver in range(num_of_drivers):
driverId_arr.append(driver_detail[driver]['driverId'])
然后我把它放进字典里
driver_dict = {}
for driver in driverId_arr:
lap_times = arr_lap_times(driver)
driver_dict.update({driver: lap_times})
然后,我将字典转换为数据帧:
df = pd.DataFrame.from_dict(driver_dict, orient='index')
读取
.csv' back in as a
数据帧时,只需指定索引列:这会告诉
pandas
,此.csv
中的0索引列应被视为索引相关问题 更多 >
编程相关推荐