将重复计数器列添加到 pandas 数据框的最简单方法
Simplest way to add repeating counter column to pandas dataframe
我有一个数据名:
import pandas as pd
df = pd.DataFrame(
{
"key": ["K0", "K1", "K2", "K3", "K4", "K5", "K6", "K7", "K8", "K9",'K10', 'K11',],
"team": ['a', 'd', 'w', 'a', 'c', 's', 'x', 'd', 'a', 'f', 'e', 'r'],
}
)
df =
key team
0 K0 a
1 K1 d
2 K2 w
3 K3 a
4 K4 c
5 K5 s
6 K6 x
7 K7 d
8 K8 a
9 K9 f
10 K10 e
11 K11 r
像这样添加重复计数器列的最简单方法是什么?:
key team counter
0 K0 a 0
1 K1 d 0
2 K2 w 0
3 K3 a 1
4 K4 c 1
5 K5 s 1
6 K6 x 2
7 K7 d 2
8 K8 a 2
9 K9 f 3
10 K10 e 3
11 K11 r 3
我的感觉告诉我,必须有一个在线解决方案(可能会更长一些)。但是我能想到的会更长更复杂。
你会如何处理这个问题?
尝试:
df['counter']=df.index//3
或
如果您有自定义索引,则可以使用:
df['counter']=[x//3 for x in range(len(df))]
df
的输出:
key team counter
0 K0 a 0
1 K1 d 0
2 K2 w 0
3 K3 a 1
4 K4 c 1
5 K5 s 1
6 K6 x 2
7 K7 d 2
8 K8 a 2
9 K9 f 3
10 K10 e 3
11 K11 r 3
我有一个数据名:
import pandas as pd
df = pd.DataFrame(
{
"key": ["K0", "K1", "K2", "K3", "K4", "K5", "K6", "K7", "K8", "K9",'K10', 'K11',],
"team": ['a', 'd', 'w', 'a', 'c', 's', 'x', 'd', 'a', 'f', 'e', 'r'],
}
)
df =
key team
0 K0 a
1 K1 d
2 K2 w
3 K3 a
4 K4 c
5 K5 s
6 K6 x
7 K7 d
8 K8 a
9 K9 f
10 K10 e
11 K11 r
像这样添加重复计数器列的最简单方法是什么?:
key team counter
0 K0 a 0
1 K1 d 0
2 K2 w 0
3 K3 a 1
4 K4 c 1
5 K5 s 1
6 K6 x 2
7 K7 d 2
8 K8 a 2
9 K9 f 3
10 K10 e 3
11 K11 r 3
我的感觉告诉我,必须有一个在线解决方案(可能会更长一些)。但是我能想到的会更长更复杂。
你会如何处理这个问题?
尝试:
df['counter']=df.index//3
或
如果您有自定义索引,则可以使用:
df['counter']=[x//3 for x in range(len(df))]
df
的输出:
key team counter
0 K0 a 0
1 K1 d 0
2 K2 w 0
3 K3 a 1
4 K4 c 1
5 K5 s 1
6 K6 x 2
7 K7 d 2
8 K8 a 2
9 K9 f 3
10 K10 e 3
11 K11 r 3