Próbuję przekształcić DataFrame, tak aby niektóre wiersze były replikowane określoną liczbę razy. Na przykład:pandy: zastosuj funkcję do DataFrame, która może zwrócić wiele wierszy.
df = pd.DataFrame({'class': ['A', 'B', 'C'], 'count':[1,0,2]})
class count
0 A 1
1 B 0
2 C 2
powinny być przekształcone do:
class
0 A
1 C
2 C
Jest to odwrotna sumowania z funkcją zliczania. Czy istnieje prosty sposób, aby osiągnąć to w pandach (bez użycia pętli lub listy)?
Jedną z możliwości może być, aby funkcja DataFrame.applymap
powróciła do wielu wierszy (podobnie jak metoda apply
z GroupBy
). Jednak nie sądzę, by było to możliwe teraz w pandach.
Mam również na uwadze ogólną funkcję, która pozwoli na zwrócenie wielu, jednego lub zera wierszy w zależności od wartości w kolumnie 'count'. – btel
Jeśli przychodzisz na to pytanie w 2017+, sprawdź moją odpowiedź na bardziej wydajne i proste rozwiązanie. –