Pandas: проблемы с пониманием того, как работает слияние

Я делаю что-то не так со слиянием и не могу понять, что это такое. Я сделал следующее, чтобы оценить гистограмму ряда целочисленных значений:

import pandas as pnd
import numpy  as np

series = pnd.Series(np.random.poisson(5, size = 100))
tmp  = {"series" : series, "count" : np.ones(len(series))}
hist = pnd.DataFrame(tmp).groupby("series").sum()
freq = (hist / hist.sum()).rename(columns = {"count" : "freq"})

Если я напечатаю histи freq, вот что я получу:

> print hist
        count
series       
0           2
1           4
2          13
3          15
4          12
5          16
6          18
7           7
8           8
9           3
10          1
11          1

> print freq 
        freq
series      
0       0.02
1       0.04
2       0.13
3       0.15
4       0.12
5       0.16
6       0.18
7       0.07
8       0.08
9       0.03
10      0.01
11      0.01

Они оба проиндексированы «серией» , но если я попытаюсь объединить:

> df   = pnd.merge(freq, hist, on = "series")

, я получу исключение KeyError: «нет элемента с именем серии» . Если я опускаю on = "series", я получаю исключение IndexError: list index out of range.

Я не понимаю, что я делаю не так. Может быть, «серия» - это индекс, а не столбец, поэтому я должен сделать это по-другому?

9
задан absolutelyNoWarranty 26 February 2016 в 09:25
поделиться