Похоже, что данные, которые вы используете, содержат в себе мусор. Точно, строки 1-33 (включительно) содержат дополнительную, ненужную (не GPS) информацию. Вы можете либо исправить базу данных, вручную удалив ненужную информацию из таблицы данных, либо использовать следующий фрагмент кода, чтобы пропустить строки, в которых она содержится:
from pandas import read_table
data = read_table('34_2017-02-06.gpx.csv', sep=';', skiprows=list(range(1, 34)).drop("Unnamed: 28", axis=1)
drop("Unnamed: 28", axis=1)
просто существует, чтобы удалить дополнительный столбец это создается, вероятно, из-за того, что каждая строка в вашей таблице данных заканчивается на ;
(потому что она читает пустое пространство в конце каждой строки как данные).
Результат работы print(data.head())
выглядит следующим образом:
index cumdist ele ... esttotalpower lat lon
0 49 340 -34.8 ... 9 52.077362 5.114530
1 51 350 -34.8 ... 17 52.077468 5.114543
2 52 360 -35.0 ... -54 52.077521 5.114551
3 53 370 -35.0 ... -173 52.077603 5.114505
4 54 380 -34.8 ... 335 52.077677 5.114387
[5 rows x 28 columns]
Чтобы объяснить роль команды drop
еще больше, вот что произойдет без нее (обратите внимание на последний, странный столбец )
index cumdist ele ... lat lon Unnamed: 28
0 49 340 -34.8 ... 52.077362 5.114530 NaN
1 51 350 -34.8 ... 52.077468 5.114543 NaN
2 52 360 -35.0 ... 52.077521 5.114551 NaN
3 53 370 -35.0 ... 52.077603 5.114505 NaN
4 54 380 -34.8 ... 52.077677 5.114387 NaN
[5 rows x 29 columns]
print('Two pair, {0}s and {1}s'.format(*cards))
Вы пропускаете только звезду :D
Это пытается использовать "карты" в качестве входа единого формата для печати, не содержание карт.
Попытка что-то как:
print('Two pair, %ss and %ss' % cards)