2014-09-30 35 views
8

Czy istnieje biblioteka C++ zapewniająca strukturę danych podobną do DataFrame z R lub Pand? Co jestem zainteresowany jest przede wszystkim: strukturaDataFrame (jak w R lub Pandas) dla C++

  • danych dla danych tabelarycznych, kolumny mogą być różnych typów (float, Integer, łańcuch, ...),
  • operacje jak wybranie, filtrowanie, łączenie, łączenie, grupowanie itp
+2

Ktoś właśnie zaznaczył to pytanie jako nie na temat. Czemu? Naprawdę chciałbym poznać powód, który kryje się za tym, to mnie zastanawia. – piokuc

+0

Ponieważ: Pytania z prośbą o zalecenie lub znalezienie książki, narzędzia, biblioteki oprogramowania, samouczka lub innych zasobów poza siedzibą są nie na temat Stack Overflow, ponieważ mają tendencję do przyciągania opinii i spamu. Zamiast tego opisz problem i to, co zostało zrobione do tej pory, aby go rozwiązać. Może zamiast tego zapytać na czacie? – filmor

+0

Problem jest następujący: Rozwijam system w C++, który zajmuje się danymi tabelarycznymi, kolumny mogą być różnych typów. Użytkownicy powinni mieć możliwość wykonywania wszelkiego rodzaju analizy/filtrowania/transformacji danych. Wydaje mi się, że struktura danych DataFrame, znana z R i Pand, byłaby idealna dla tych danych, ALE potrzebuję tego dla C++, a nie R lub Pythona. Pomyślałem, że problem i pytanie są najbardziej odpowiednie dla StackOverflow, ale okazuje się, że tak nie jest. Dziwne. – piokuc

Odpowiedz

3

Można również zapoznać się z xtensor C++ biblioteki API, które ma bardzo zbliżony do numpy, a także obsługuje brakujących wartości.

Punkt bonusowy: można go użyć do edycji numpy array inplace. http://xtensor.readthedocs.io/en/latest/.

2

nie wiem C++ biblioteka per se że może robić to, co Pandy może zrobić, ale być może nie chcą używać C++ za to. Czy rozważałeś użycie powiązań C++/Python? Mogą one ułatwić łatwe przejście z C++ do Pythona, dzięki czemu można używać ramek danych Pand i przenosić je do C++.

Patrz, na przykład, Boost.Python: https://wiki.python.org/moin/boost.python?action=show&redirect=BoostPython