全部
试图在df中添加新的列,该列的段号成批增加。输出示例如下所示,其中段号以3条记录的批数递增:
Index Animal Segment
0 Dog 1
1 Cat 1
2 Cat 1
3 Bear 2
4 Bird 2
5 Dog 2
6 Dog 3
7 Dog 3
8 Cat 3
9 Bear 4
10 Bear 4
11 Lion 4
12 Dog 5
13 Lion 5
14 Cat 5
不确定在Pandas中实现此目标的最佳方法。我知道在常规的python中,我会逐行执行循环并递增I,但不知道如何在Pandas中执行此操作。
感谢您的帮助。
答案 0 :(得分:2)
要做:
df['Segment'] = np.arange(len(df))//3 + 1
Index Animal Segment
0 Dog 1
1 Cat 1
2 Cat 1
3 Bear 2
4 Bird 2
5 Dog 2
6 Dog 3
7 Dog 3
8 Cat 3
9 Bear 4
10 Bear 4
11 Lion 4
12 Dog 5
13 Lion 5
14 Cat 5
说明:
np.arange(len(df))
创建一个长度为len(df)
的序列,并用//3
将其元素的下限除以3,然后将其相加1得到所需的输出。
答案 1 :(得分:0)
请您尝试以下。
df['Segment']=df.index // 3 + 1
df