7
Jak zmienić każdy element w DataFrame z hierarchicznym indeksowaniem? Na przykład, może chcesz przekonwertować ciągi do pływaków:Zmienianie danych w ramce danych z hierarchicznym indeksowaniem
from pandas import DataFrame
f = DataFrame({'a': ['1,000','2,000','3,000'], 'b': ['2,000','3,000','4,000']})
f.columns = [['level1', 'level1'],['item1', 'item2']]
f
Out[152]:
level1
item1 item2
0 1,000 2,000
1 2,000 3,000
2 3,000 4,000
Próbowałem to:
def clean(group):
group = group.map(lambda x: x.replace(',', ''))
return group
f.apply(clean)
Out[153]:
(level1, item1) (level1, item2)
0 1000 2000
1 2000 3000
2 3000 4000
Jak widać, zmienia hierarchicznych indeksowanie całkiem sporo. Jak mogę tego uniknąć? A może jest lepszy sposób.
Dzięki
Wielki. Czy stosuje się przekazywać kolumny, w tym element 1, element 2, gdy używam osi = 0? Co dzieje się, gdy istnieje hierarchiczny indeks w kolumnach i wierszach? –
Uhm ... Próbowałem już tego i "spłaszczyło" poziomy. Czy znasz jakieś rozwiązanie? –
@RobertSmith Jaką wersję pandy używasz? Nie spłaszcza się dla mnie na "0.10" (chociaż 'applymap' robi). –