0
0 комментариев

Я использую pandas.
Дан набор панельных данных:

merged1
Out[16]:
             pid  syear                        pgsbil  \
0            101   1984        [3] Fachhochschulreife
1         400802   1984       [1] Hauptschulabschluss
     ...    ...                           ...
478330    455601   2012         [5] Anderer Abschluss
478331  31433901   2012                    [4] Abitur

Переменная pid обозначает идентификатор опрошенного человека и syear — год в котором проведён опрос. Я построил несколько статистик чтобы посмотреть сколько человек и в какие годы участвовали в опросе:

Q = merged1.groupby('pid')['syear'].value_counts()
Out[17]:
pid       syear
101       1984     1
          1985     1
          1986     1
          1987     1
          1988     1
          1989     1
102       1984     1

Теперь я могу видеть что данные для респондента 101 доступны на протяжение 6 лет (1984 — 1989).
На основе этой переменной я не могу построить гистограмму, где по оси Х, были бы отложены года а по оси У, pid респондента. Проблема в том что некоторые опросы проводились с разной периодичностью. И даже если отобразить количество лет доступных для анализа:

Z = merged1.groupby('pid')['syear'].count()
Z = Z.sort_values(ascending=0)
Out[19]:
pid
493401      29
152801      29
151901      29
            ..
30303201     1
35008702     1

То я не смогу видеть или узнать равномерность распределения данных pid за разные года, чтобы подготовить набор данных за максимально длительный период. Опросы проводятся не равномерно поэтому некоторые переменные могут встречаться раз в два года.

Поэтому как мне построить график распределения или таблицу чтобы посмотреть по каким годам есть pid данные? Чтобы увидеть какие года доступны для каждого pid.


Добавить комментарий