2014-09-30 18 views
8

Esiste una libreria C++ che fornisce una struttura dati simile a DataFrame da R o Panda? Cosa Sono per lo interessa è: strutturaDataFrame (come in R o Pandas) per C++

  • dati per dati tabulari, le colonne possono essere di diverso tipo (float, integer, string, ...),
  • operazioni come la selezione, il filtraggio, la fusione, combinando, raggruppamento, ecc
+2

Qualcuno ha appena segnalato questa domanda come fuori tema. Perché? Mi piacerebbe davvero conoscere il ragionamento che ci sta dietro, mi lascia perplesso. – piokuc

+0

Perché: le domande che ci chiedono di consigliare o trovare un libro, uno strumento, una libreria software, un'esercitazione o altre risorse fuori sede sono fuori tema per Stack Overflow poiché tendono ad attirare risposte e spam contestati. Invece, descrivi il problema e cosa è stato fatto finora per risolverlo. Forse chiedere in chat invece? – filmor

+0

Il problema è il seguente: sto sviluppando un sistema in C++ che si occupa di dati tabulari, le colonne possono essere di diversi tipi. Gli utenti dovrebbero essere in grado di fare tutti i tipi di analisi/filtraggio/trasformazione dei dati. Mi sembra che la struttura dati di DataFrame, nota da R e Pandas, sarebbe perfetta per questi dati, MA ne ho bisogno per C++, non R o Python. Avrei pensato che il problema e la domanda fossero i più appropriati per StackOverflow, ma risulta che non lo è. Strano. Le colonne – piokuc

risposta

3

È inoltre possibile controllare il xtensor libreria C++ che ha un API molto vicino a quello di NumPy, e anche maniglie valori mancanti.

Punto bonus: è possibile utilizzarlo per modificare array numpy sul posto. http://xtensor.readthedocs.io/en/latest/.

2

non so una libreria C++ per sé che può fare ciò che Pandas può fare, ma forse si potrebbe non voler utilizzare C++ per questo. Hai preso in considerazione l'utilizzo dei binding C++/Python? Questi possono facilitare le transizioni facili da C++ a Python in modo da poter usare i datafram di Pandas e trasferirli in C++.

Vedi, per esempio, Boost.Python: https://wiki.python.org/moin/boost.python?action=show&redirect=BoostPython