Mam bardzo duży zbiór danych, gdy chcę zastąpić ciągi liczbami. Chciałbym operować na zestawie danych bez wpisywania funkcji mapowania dla każdego klucza (kolumny) w zestawie danych. (podobne do metody fillna, ale zastąp konkretny ciąg z przypisaną wartością). Czy mimo to można to zrobić?Zamień ciąg/wartość w całej ramce danych
Oto przykład mego zbiorze
data
resp A B C
0 1 poor poor good
1 2 good poor good
2 3 very good very good very good
3 4 bad poor bad
4 5 very bad very bad very bad
5 6 poor good very bad
6 7 good good good
7 8 very good very good very good
8 9 bad bad very bad
9 10 very bad very bad very bad
Pożądany wynik:
data
resp A B C
0 1 3 3 4
1 2 4 3 4
2 3 5 5 5
3 4 2 3 2
4 5 1 1 1
5 6 3 4 1
6 7 4 4 4
7 8 5 5 5
8 9 2 2 1
9 10 1 1 1
Bardzo słabe = 1, Bad = 2, słaba = 3, dobra = 4, bardzo dobra = 5
// Jonas
To nie działa w 0.20.1. Zobacz http://pandas.pydata.org/pandas-docs/version/0.20/generated/pandas.DataFrame.replace.html?highlight=replace# dla nowej składni. –
Powyżej z niewielkimi zmianami powinien działać df.replace (["bardzo zły", "zły", "słaby", "dobry", "bardzo dobry"], [1, 2, 3, 4, 5] , inplace = True) –