Czy możemy załadować pandas DataFrame w przestrzeni .NET przy użyciu żelaznego pythona? Jeśli nie, to mam zamiar przekonwertować panda df na plik csv, a następnie czytać w przestrzeni .net.Czy możemy załadować pandas DataFrame w .NET ironpython?
Odpowiedz
Nie, Panda jest dość dobrze przywiązana do CPython. Tak jak powiedziałeś, najlepiej jest wykonać analizę w CPython za pomocą Pand i wyeksportować wynik do pliku CSV.
Jest możliwe, aby zadzwonić CPython z .NET przy użyciu Python.NET:
Odnośnie opcji w tym serializacji:
ja nadal bada podobny przypadek - chcemy przetwarzać danych w python, a następnie użyj wyników w języku C#. Naszym wymaganiem było (najlepiej) utrzymywanie niezależności platformy Pythona, abyśmy mogli uruchomić naszą liczbę kompresji na Linuksie lub w oknach. Krótko mówiąc zdecydowaliśmy się użyć binarny serializacji/deserializacji z komunikatem pakietu: http://msgpack.org/index.html
Konwertujemy wartości DataFrame do listy i serializacji do pliku:
import msgpack as mp
data_as_list = df.values.tolist()
mp.pack(data_as_list, open("d:\\msgpack1.mp",'wb'))
Następnie na # boku C możemy użyć. realizacja netto MessagePack deserializacji dane:
using MsgPack;
var serializer =
SerializationContext.Default.GetSerializer<MessagePackObject[][]>();
var unpackedObject = serializer.Unpack(File.OpenRead("d:\\msgpack1.mp"));
Główne zalety serializacji binarnej:
- jest mniej podatny na wszelkie problemy kodowania związanych porównywanie tekstu formaty oparte serializacji jak CSV, JSON lub XML
- w zależności od danych może być szybsze niż CSV (to było w naszym przypadku): http://matthewrocklin.com/blog/work/2015/03/16/Fast-Serialization/
- 1. Pandas DataFrame kolumna konkatenacja
- 2. Pandas Pandas DataFrame usunąć Puste komórki
- 3. czy możesz typować obiekt .NET w IronPython?
- 4. IronPython dla .NET core
- 5. Indeks podzbiorów z Pandas DataFrame
- 6. Pandas Dataframe output do JSON
- 7. Porównywanie poprzednich wartości wierszy w Pandas DataFrame
- 8. Podsumuj wartości kolumn w Pandas DataFrame
- 9. Zastąp datę NaT w Pandas Dataframe
- 10. wskaźnik inwertowany i kolumn w DataFrame PANDAS
- 11. Pandas pandas DataFrame według poziomu MultiIndex lub sublevel
- 12. Ładowanie zestawu danych raka SKLearn w Pandas DataFrame
- 13. "Plik CSV nie istnieje" - Pandas DataFrame
- 14. Jak zastosować Cython do Pandas DataFrame
- 15. Pandas DataFrame Dziedziczenie lub wykorzystanie obiektu?
- 16. Pandas DataFrame krojenie według dnia/godziny/minuty
- 17. Pandas DataFrame z MultiIndex na Numpy Matrix
- 18. Pandas dataframe read_csv na złe dane
- 19. Zliczanie zer na wiersz przez Pandas DataFrame?
- 20. Pandas DataFrame ze słownika z listami
- 21. Jak mogę przekonwertować Pandas DataFrame na listę?
- 22. Jak rozładować odniesienie zestawu .NET w IronPython
- 23. Jak pogrupować pandas DataFrame według różnych dat?
- 24. Czy możemy załadować podstawowe funkcje javascript w widoku webowym?
- 25. Efektywnie skonstruuj Pandas DataFrame z dużej listy krotek/wierszy
- 26. W jaki sposób zmieniasz Pandas DataFrame w multiindeks?
- 27. Więcej idiomatycznej wersji "df.isnull(). Any(). Any()" w/a Pandas DataFrame?
- 28. IronPython odsłaniający typ .Net do aparatu wykonawczego
- 29. DataFrame (jak w R lub Pandas) dla C++
- 30. Przetwarzanie krotki do wielu wskaźników w PANDAS Dataframe
Panda polega na numpy, która według mojej wiedzy ma już całkiem niezły port IronPython. Ale to także zależy od Cythona i C, aby osiągnąć wysoką wydajność, prawda? To ostatnie jest prawdopodobnie dużym problemem, a nie numpy. –