我有两个系列专栏 第一列日期范围为2015-01-01至2019-01-01,第二列具有一些随机值,我想创建一个新列,其外观应如下图所示
我的熊猫专栏如下
#include <iostream>
#include <vector>
int main()
{
int n;
std::vector<int> vec; //Better try to use namespaces
//Some spaces add clarity
std::cin >> n;
vec.resize(n);
for(int k=0; k<n; k++) //Define local varibales relative to loop for iterator
{
std::cin >> vec[k];
}
return 0; //Always return a code at the finish of the program
}
我想要一个新的列,如下所示:
A1 B1
2015-01-01 A
2015-02-01 A
2015-03-01 A
2015-04-01 A
2015-01-01 B
2015-02-01. B
-----
我认为我应该在B1上使用groupby函数,但不确定如何做到这一点
答案 0 :(得分:2)
groupby.cumcount
df.assign(B=df.groupby('B1').cumcount())
A1 B1 B
0 2015-01-01 A 0
1 2015-02-01 A 1
2 2015-03-01 A 2
3 2015-04-01 A 3
4 2015-01-01 B 0
5 2015-02-01 B 1
就地
df['B'] = df.groupby('B1').cumcount()