请考虑以下代码.是否保证Derived<int>::foo()会被实例化?foo()是虚拟的,由基类的非虚函数调用.
#include <iostream>
class Base
{
public:
void bar() { foo(); }
private:
virtual void foo() = 0;
};
template <typename T> class Derived: public Base
{
public:
Derived(T t_) : t(t_) {}
private:
void foo() override { std::cout << t; }
T t;
};
Derived<int> make_obj()
{
return Derived<int>(7);
}
Run Code Online (Sandbox Code Playgroud) 我经常发现自己在数据帧上进行groupby-apply,然后将结果与原始数据帧合并.这是一个例子.假设df有A列和B列.我想添加另一列,其值是所有行的列B的总和,具有与当前行相同的列A值.以下是这项工作,但显然是次优的
df.join(df.groupby('A')['B'].sum(), on='A', rsuffix='_sum')
Run Code Online (Sandbox Code Playgroud)
是否可以将原始索引保持在groupby-sum中?