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

У меня есть Pandas DataFrame, содержащий широты и долготы железнодорожных станций, называемые stops:

station_id,station_name,station_lat,station_lon
'101','Van Cortlandt Park - 242 St',40.889248,-73.898583
'103','238 St',40.884667,-73.90087
'104','231 St',40.878856,-73.904834
'106','Marble Hill - 225 St',40.874561,-73.909831

Используя pd.iterrows(), я соединил широты и долготы в кортежи, упаковал их в список, преобразовалсписок в серию Pandas и добавили серию в DataDrame в виде нового столбца, например:

latlon_list = []
for ind, row in stops.iterrows():
    latlon_list.append((stops.at[ind, 'station_lat'], stops.at[ind, 'station_lon']))
latlon_series = pd.Series(latlon_list)
stops.insert(loc=4, column='station_lat_lon', value=latlon_series)

. Это привело к изменению некоторых значений в столбцах и добавлению к ним нескольких десятичных разрядов:

station_id  station_name    station_lat station_lon station_lat_lon
0   101 Van Cortlandt Park - 242 St 40.889248   -73.898583  (40.889247999999995, -73.898583)
1   103 238 St  40.884667   -73.900870  (40.884667, -73.90087)
2   104 231 St  40.878856   -73.904834  (40.878856, -73.904834)
3   106 Marble Hill - 225 St    40.874561   -73.909831  (40.874561, -73.90983100000001)
4   107 215 St  40.869444   -73.915279  (40.869444, -73.915279)

Мутация произошла в строке 0 и строке 3, но не в других строках.В строке 0 фигура широты видоизменена, но в строке 3 фигура долготы видоизменена.Почему это происходит, и как я могу предотвратить это?

...