pandas切片賦值 DATE: 2026-05-05 11:25:32
在Python的切片數據分析庫pandas中,切片賦值是賦值一種非常常見(jiàn)的操作,它可以幫助我們快速地修改DataFrame或Series的切片部分數據,本文將詳細介紹pandas切片賦值的賦值使用方法和注意事項。
(圖片來(lái)源網(wǎng)絡(luò ),切(′?`)片侵刪)基本概念
2、切片Series:一維數組,賦值可以看作是切片一個(gè)Excel表格中的一行或者一列。
3、賦值切片:通過(guò)指定行索引和列索引的切片范圍,從DataFrame或Series中提取一部分數據。賦值
4、切片切片賦值:將新的數據分配給通過(guò)切片提取出來(lái)的數據。
切片賦值的基本用法
1、對DataFrame進(jìn)行切片賦值
假設我們有一個(gè)DataFrame如下:
i(°□°)mport pandas as pddaヾ(′?`)?ta = { 'A': [1,?? 2, 3, 4], 'B':( ???) [5, 6, 7, 8]}df = pd.Data???Frame(data)print(df)輸出結??果:
A B0 1 51 2 62 3 73 4 8
我們可以使用切片賦值來(lái)修改DataFrame的部分數據,例如將第1行的數據修改為[9, 10]:
df.loc[0] = [9, 10]print(df)輸出結果:
A B0 9 101 2 62 3 73 4 8
2、對Series進(jìn)行切片賦值
假設我們有(you)一個(gè)Series如下:
s = pd.Series([1, 2, 3, 4])print(s)
0 11 22 33 4dtype: int64
我們可以使用切片賦值來(lái)修改Series的部分數據,例如將第1個(gè)元素修改為5:
s[0] = 5print(s)
輸出結果:
0 51 22 33 4dtype: int64
切片賦值的(de)高級用法
1、同時(shí)修改(′?_?`)多個(gè)元素:可以使用切片賦值一次性修改多個(gè)元素,例如將第1行的第2個(gè)元素和第3個(gè)元素都修改為0:
df.(′?`*)loc[0, ['A', 'B']] = [0, 0]print(df)
輸出結果:
A B0 0 01?? 2 62 3 73 4 8
df.l??oc[0:??3, 'A'] = [9, 9, 9]print(df)??
輸出結果:
A B0 9 101 9 62 9 73ヽ(′?`)ノ 4 8
注意事項
1、如果切片范圍超出了DataFrame或Series的長(cháng)度,pandas會(huì )自動(dòng)擴展數據長(cháng)度,而不是報錯,如果我們嘗試將第4行的數據修改為[9, 10]:df.loc[3] = [9, 10],由于DataFram(′_`)e只有4行,所以pandas會(huì )自動(dòng)在第4行之前插入一行數據,使得DataFrame變?yōu)?行,然后再執行切片賦值操作,最終的輸出結果是: A B
0 NaN NaN
1 NaN NaN 2 NaN NaN 3 NaN NaN 4 9 10,為了避免這種情況,建議在執行切片賦值操作之前檢查切片范圍是否合理。

