我想在某个列中为 Pandas DataFrame 的前 n 行设置一个值。
>>> example = pd.DataFrame({'number':range(10),'name':list('aaabbbcccc')},index=range(20,0,-2)) # nontrivial index
>>> example
name number
20 a 0
18 a 1
16 a 2
14 b 3
12 b 4
10 b 5
8 c 6
6 c 7
4 c 8
2 c 9
Run Code Online (Sandbox Code Playgroud)
我想将第一行的“数字”设置为第 5 行到数字 19。我真正想要的是将“数字”的最低值设置为该值,所以我只先排序。如果我的索引是微不足道的,我可以做
example.loc[:5-1,'number'] = 19 # -1 for inclusive indexing
# or
example.ix[:5-1,'number'] = 19
Run Code Online (Sandbox Code Playgroud)
但由于它不是,这将产生以下工件(其中选择了最多 4 的所有索引值):
>>> example
name number
20 a 19
18 a 19
16 a 19 …
Run Code Online (Sandbox Code Playgroud) pandas ×1