Как использовать две разные функции в crosstab/pivot_table в pandas?Python

Программы на Python
Anonymous
Как использовать две разные функции в crosstab/pivot_table в pandas?

Сообщение Anonymous »


Можно ли с помощью pandas вычислить одну перекрестную таблицу (или сводную таблицу), содержащую значения, рассчитанные с помощью двух разных функций?

импортировать панд как pd импортировать numpy как np c1 = np.repeat(['a','b'], [50, 50], ось=0) c2 = список('xy'*50) c3 = np.repeat(['G1','G2'], [50, 50], ось=0) np.random.shuffle(c3) c4 = np.repeat([1,2], [50,50],ось=0) np.random.shuffle(c4) val = np.random.rand(100) df = pd.DataFrame({'c1':c1, 'c2':c2, 'c3':c3, 'c4':c4, 'val':val}) FrequencyTable = pd.crosstab([df.c1, df.c2], [df.c3, df.c4]) meanVal = pd.crosstab([df.c1, df.c2], [df.c3, df.c4], значения=df.val, aggfunc=np.mean) Итак, и строки, и столбцы в обеих таблицах одинаковы, но мне бы очень хотелось, чтобы таблица содержала как частоты, так и средние значения:
c3 G1 G2 с4 1 2 1 2 c1 c2 значение частоты значение частоты значение частоты значение частоты а х 6 0,624931 5 0,582268 8 0,528231 6 0,362804 у 7 0,493890 8 0,465741 3 0,613126 7 0,312894 б х 9 0,488255 5 0,804015 6 0,722640 5 0,369480 у 6 0,462653 4 0,506791 5 0,583695 10 0,517954

Вернуться в «Python»