Quantcast
Channel: Форум программистов и сисадминов Киберфорум
Viewing all articles
Browse latest Browse all 517404

Работа с pandas dataframe (имена колонок) - Python: научные вычисления

$
0
0
Добрый день. Работаю с базой https://archive.org/details/201309_f...re_dataset_umn файл checkins.dat
Для работы необходимо обработать датафрейм: удалить строки с пропущенными значениями в столбцах с координатами, обработать NAN и изменить типы данных у некоторых столбов.
Ступор произошел при обращении к столбцу по имени, как я помню, если в дата фрейма есть столбец, то запись вида: Data.latitude - должна нормально отрабатываться и нам должен вывестись этот столбец. В полученном дата фрейме обратится по имени - не удается, только по номеру Data[[3]]
При выводе информации по датафрейму имена столбцов выводятся с некоторой табуляцией, которой я не наблюдала при работе с иными файлами:
Код:

In [72]:

data.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 1021968 entries, 0 to 1021967
Data columns (total 6 columns):
  id                    1021968 non-null object
 user_id                1021966 non-null float64
 venue_id                1021966 non-null float64
    latitude            1021966 non-null object
    longitude          1021966 non-null object
    created_at          1021966 non-null object
dtypes: float64(2), object(4)
memory usage: 54.6+ MB

Не подскажите что обозначает эта табуляция (может некая иерархическая структура) и как в этом случае обращаться к столбцам по именам.

Добавлено через 15 минут
Если при импорте из csv добавил skipinitialspace = True, то табуляция уйдет, но проблема с обращением по имени останется.
Код:

In [75]:

data.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 1021968 entries, 0 to 1021967
Data columns (total 6 columns):
id                  1021968 non-null object
user_id            1021966 non-null float64
venue_id            1021966 non-null float64
latitude            396634 non-null float64
longitude          396634 non-null float64
created_at          1021966 non-null object
dtypes: float64(4), object(2)
memory usage: 54.6+ MB
In [87]:

data.created_at = data.created_at.apply(pd.to_datetime)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-87-27184e58afb6> in <module>()
----> 1 data.created_at = data.created_at.apply(pd.to_datetime)

/usr/local/lib/python2.7/site-packages/pandas/core/generic.pyc in __getattr__(self, name)
  2358                return self[name]
  2359            raise AttributeError("'%s' object has no attribute '%s'" %
-> 2360                                  (type(self).__name__, name))
  2361
  2362    def __setattr__(self, name, value):

AttributeError: 'DataFrame' object has no attribute 'created_at'


Viewing all articles
Browse latest Browse all 517404

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>