Po prostu zaczynam od Pand i czytam w pliku csv za pomocą metody read_csv()
. Trudność, jaką mam, polega na tym, że pandy nie konwertują numerów moich telefonów na duże liczby, zamiast trzymać je jako struny. Zdefiniowałem konwerter, który właśnie zostawił numery sam, ale potem nadal konwertował na liczby. Kiedy zmieniłem konwerter, aby wstawić "z" na numery telefonów, pozostały ciągi. Czy istnieje sposób na zachowanie ich łańcuchów bez modyfikowania wartości pól?Określanie typu danych w Pandas csv reader
Odpowiedz
Wygląda na to, że nie można uniknąć pandy próbującej konwertować wartości numeryczne/boolowskie w pliku CSV. Spójrz na kod źródłowy pand dla parserów IO, w szczególności funkcje _convert_to_ndarrays
i _convert_types
. https://github.com/pydata/pandas/blob/master/pandas/io/parsers.py
zawsze można przypisać typ chcesz po przeczytaniu pliku:
df.phone = df.phone.astype(str)
Dzięki @lbolla, pomogło to w jednym z moich błędów, gdzie wartość zmiennoprzecinkowa została odczytana jako ciąg znaków, ponieważ inna kolumna była łańcuchem, a później powodowała problemy w funkcjach agregacji. Musiałem zrobić df ['col'] = df ['col']. Astype (float64) –
Ponieważ pandy 0.11.0 można użyć dtype argumentu jawnie określić typ danych dla każdej kolumny:
d = pandas.read_csv('foo.csv', dtype={'BAR': 'S10'})
Zauważ, że to nie jest dostępne (jeszcze, mam nadzieję) dla innych funkcji wejściowych, takich jak 'pandas.read_fwf()' – ReneSac
I ponownie przejrzałem temat i obsługa 'dtype' została już dodana do' pandas.read_fwf' :) – zero323
Ta metoda nie działa w przypadku dużych zestawów danych, ponieważ istnieje inny sposób odczytu csv i tylko niektórych kolumn. –
- 1. python csv reader, pętla z drugiego rzędu
- 2. Pomijanie linii, csv Dict Reader Python
- 3. "Plik CSV nie istnieje" - Pandas DataFrame
- 4. Określanie typu wyrażenia
- 5. Korzystanie AutoMapper z danych Reader
- 6. pandas to_csv: tłumienie notacji naukowej w pliku csv podczas pisania pand do csv
- 7. Uzyskiwanie pliku CSV Arkusza Google w Pandas Dataframe
- 8. Wordpress Blog iPhone Reader App Reader
- 9. Łączenie ramek danych w indeksach w PANDAS
- 10. Określanie typu pliku binarnego/tekstowego w Javie?
- 11. Określanie typu funkcji w Programowaniu funkcjonalnym
- 12. Excel-reader Problem UTF
- 13. Jak odczytać jedną linię danych CSV w Pythonie?
- 14. Eksportowanie danych z brakującymi wartościami do pliku CSV w Pandach
- 15. Określanie typu pliku przy użyciu C#
- 16. Określanie oczekiwanego typu dostępu do elementu DynamicObject
- 17. ładowanie danych csv d3
- 18. Określanie, czy typ jest podklasą typu ogólnego
- 19. Określanie bazy danych uwierzytelniania w pliku mongoid.yml
- 20. Pandas Pandas DataFrame usunąć Puste komórki
- 21. jak do pchania danych csv do MongoDB przy użyciu Pythona
- 22. Baza danych H2 Szybsze ładowanie danych CSV
- 23. Wiosna Batch Reader w wielu Threader Hioba
- 24. Błąd typu podczas otwierania przesłanego pliku CSV
- 25. Określanie systemu operacyjnego i typu procesora w języku C#
- 26. Liczba wierszy w pliku CSV
- 27. Ładowanie danych CSV do Hbase
- 28. Parsowanie danych CSV z pamięci w Pythonie
- 29. Zastąp datę NaT w Pandas Dataframe
- 30. Grupa przez wiele jednostek czasu w PANDAS danych ramki
Pokaż nam swój kod –
@Gardner: czy rozważasz zaakceptowanie odpowiedzi? –