Po scaleniu dwóch ramek danych z indeksem, który łączy pewne wartości, ale nie we wszystkich przy użyciu "zewnętrznego" scalania, python/pandy automatycznie dodaje wartości Null (NaN) do pól, których nie może mecz na. To jest normalne zachowanie, ale zmienia typ danych. Jest to problem, ponieważ musisz teraz ponownie określić, jakie typy danych powinny mieć kolumny.Zachowaj typ danych kolumny Dataframe po zewnętrznym scaleniu
fillna lub dropna() nie zachowują typów danych natychmiast po scaleniu. Czy potrzebuję struktury tabeli w miejscu?
Zazwyczaj uruchamiałbym numpy np.where (field.isnull() itp.), Ale oznacza to uruchomienie dla wszystkich kolumn.
Co obejście tego?
Myślę, że przykład może pomóc w wyjaśnieniu, co chcesz osiągnąć. Czasem nie można zmienić typu, np. Z float na int, ponieważ kolumna int nie może zawierać NaN. A jeśli wszystkie NaN są natychmiast odrzucane, to po co używać "zewnętrznego"? – ptrj