Q:

Как в pandas посчитать процентное содержание количества значений?

У меня есть DataFrame, который содержит различные значения.
import pandas as pd 
df = pd.DataFrame({"data": [1, 1, 1, 1, 0, 0, 0, 2, 2, 3]})

Я хочу посчитать, сколько процентов от общих данных занимает каждое значение, то есть получить таблицу вида:
value | percent
_____________________
0     | 30 ( или 0.3)
1     | 40 ( или 0.4)
2     | 20 ( или 0.2)
3     | 10 ( или 0.1)

Я могу посчитать так:
# Добавляю еще одну колонку, чтобы нормально посчитать count()
df['column'] = 1
df2 = df.groupby('data').count()
df2['percent'] = df2['column'] / len(df.index)

И получаю искомое:
      column  percent
data                 
0          3      0.3
1          4      0.4
2          2      0.2
3          1      0.1

Однако, меня не покидает ощущение, что я все делаю не так. И подобные вопросы должны решаться намного проще. 
Подскажите, как лучше решить мою задачу?

A:

можно использовать метод GroupBy.size() - в этом случае не понадобится создавать новый столбец:
In [4]: df.groupby('data').size() / len(df)
Out[4]:
data
0    0.3
1    0.4
2    0.2
3    0.1
dtype: float64

