看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
有以下数据集,想增加一列进行标注,要求每三行是相同的值,可能用于后期分组等数据处理。(问题来源于知乎)
import pandas as pd
import numpy as np
df = pd.DataFrame({'a':[25, 40, 50, 26, 65, 25, 50, 26, 26, 2]})
'''
a
0 25
1 40
2 50
3 26
4 65
5 25
6 50
7 26
8 26
9 2
'''
用 np.arange 创建一个和 dataframe 一样长的数列(为了防止不够用),然后用 repeat(3) 每个值输出三个,最后要用切片处理一下,防止超长,与原数据不匹配。最后再用 assign 添加列。
df.assign(b=np.arange(len(df)).repeat(3)[:len(df)])
'''
a b
0 25 0
1 40 0
2 50 0
3 26 1
4 65 1
5 25 1
6 50 2
7 26 2
8 26 2
9 2 3
'''
更新时间:2024-08-18 15:29:14 标签:pandas python 重复值