计算数据计数

时间:2017-10-02 00:27:39

标签: python database sqlite

我有一个sqlite3数据库,我需要从中获取数据,然后以编程方式计算每个id的数据量。我不应该使用数据库查询。

1 个答案:

答案 0 :(得分:0)

您可以使用groupby函数直接将sqlite3表加载到pandas。然后,您可以使用pandas库中的.count()函数按ID分组,然后使用#include <iostream> #include <vector> template<typename value_t, typename left_t, typename right_t, typename op_t> class Expression { public: typedef value_t value_type; explicit Expression(const left_t &left, const right_t &right, const op_t &op) : left(left), right(right), op(op) { } value_t operator [](const size_t &i) const { return op(left[i],right[i]); } size_t size() const { return left.size();} private: const left_t &left; const right_t &right; //const left_t left; //const right_t right; const op_t &op; }; template<class left_t, class right_t, class value_t = typename left_t::value_type, class op_t = std::plus<value_t>> const Expression<value_t, left_t, right_t, op_t> operator +(const left_t &left, const right_t &right) { return Expression<value_t,left_t,right_t,op_t>(left, right, op_t()); } template<typename value_t, typename data_t = std::vector<value_t>> class Vector : public data_t { public: typedef value_t value_type; using data_t::size; Vector(const std::initializer_list<value_t> &list) : data_t(list) { } Vector(const size_t &n) : data_t(n) { } Vector(const Vector &v) : data_t(v) { } template<typename left_t, typename right_t, typename op_t> Vector(const Expression<value_t,left_t,right_t,op_t> &v) : data_t(v.size()) { operator =(v); } template<typename vec_t> Vector(const vec_t &v) : data_t(v.size()) { operator =(v); } template<typename vec_t> Vector &operator =(const vec_t &v) { for(size_t i = 0; i < data_t::size(); ++i) data_t::operator [](i) = v[i]; return (*this); } friend std::ostream &operator <<(std::ostream &os, const Vector &v) { if(v.size()) os << v[0]; for(size_t i = 1; i < v.size(); ++i) os << " " << v[i]; return os; } }; int main() { Vector<double> a{0,1,2}; auto b = a+a+a; auto c = a; std::cout << a+a+a+a << std::endl; std::cout << b+c << std::endl; // gives bad_alloc return 0; } 获取每个ID的计数。