Dataframe 价值指数长度
我有一个数据框,如下所示:Dataframe 价值指数长度,dataframe,Dataframe,我有一个数据框,如下所示: Col1 0 A 1 B 3 D 4 A 5 A 我想创建一个列来计算相同值的两次出现之间的索引差。我会得到: Col1 Col2 0 A 0 1 B 0 3 D 0 4 A 4 5 A 1 对于我想这样做的每个值,在本例中B和D出现一次 有什么建议吗?
Col1
0 A
1 B
3 D
4 A
5 A
我想创建一个列来计算相同值的两次出现之间的索引差。我会得到:
Col1 Col2
0 A 0
1 B 0
3 D 0
4 A 4
5 A 1
对于我想这样做的每个值,在本例中B和D出现一次
有什么建议吗?谢谢 如果将索引转换为一个系列,则可以像通常一样使用groupby diff:
In [102]: df
Out[102]:
Col1
0 A
1 B
3 D
4 A
5 A
6 D
In [103]: df["Col2"] = df.index.to_series().groupby(df.Col1).diff().fillna(0)
In [104]: df
Out[104]:
Col1 Col2
0 A 0.0
1 B 0.0
3 D 0.0
4 A 4.0
5 A 1.0
6 D 3.0
如果将索引转换为系列,则可以像通常一样使用groupby diff:
In [102]: df
Out[102]:
Col1
0 A
1 B
3 D
4 A
5 A
6 D
In [103]: df["Col2"] = df.index.to_series().groupby(df.Col1).diff().fillna(0)
In [104]: df
Out[104]:
Col1 Col2
0 A 0.0
1 B 0.0
3 D 0.0
4 A 4.0
5 A 1.0
6 D 3.0