/ / pandas как да създадете прост кръстосан таб без агрегиране? - питон, панди, агрегатни функции, крос-таблици

pandas как да създадете прост кръст табу, без агрегация? - питън, панда, агрегатни функции, кръстосана таблица

Имам таблица с 3 колони: parent_male, parent_female, offsprings - всички низове. Искам да се създаде проста рядка кръстосана таблица на мъжки срещу жени и поколения като стойности - как мога да напиша aggfunc, които правят това. (не е необходимо реално агрегиране) - просто сложете празен низ в празните места.

Отговори:

1 за отговор № 1

IIUC, от което се нуждаете pivot:

df = df.pivot(index="parent_male", columns="parent_female", values="offsprings")

Ако получите грешка:

ValueError: Индексът съдържа дублиращи се записи, които не могат да се променят отново

употреба pivot_table

Така окончателното решение е:

ct = pd.pivot_table(d["male"], d["female"], d["offsprings"], aggfunc=",".join)

0 за отговор № 2

Открих отговора тук ... Функцията Pandas Groupby Agg не намалява и аз използвах информацията. от горните коментари ...

ct = pd.crosstab(d["male"], d["female"], d["offsprings"], aggfunc=",".join)