pandas 回傳的 Series 的索引和 DataFrame 的索引一樣,而且會適當的設定 name
屬性。
可以使用特殊的 iloc
與 loc
屬性加上位置或名稱來取出橫列。
In [59]: frame2.loc[1]
Out[59]:
year 2001
state Ohio
pop 1.7
debt NaN
Name: 1, dtype: object
In [60]: frame2.iloc[2]
Out[60]:
year 2002
state Ohio
pop 3.6
debt NaN
Name: 2, dtype: object
欄可以使用賦值來修改。例如,空欄 debt 可以設定成一個純量值,或一個陣列:
In [61]: frame2["debt"] = 16.5
In [62]: frame2
Out[62]:
year state pop debt
0 2000 Ohio 1.5 16.5
1 2001 Ohio 1.7 16.5
2 2002 Ohio 3.6 16.5
3 2001 Nevada 2.4 16.5
4 2002 Nevada 2.9 16.5
5 2003 Nevada 3.2 16.5
In [63]: frame2["debt"] = np.arange(6.)
In [64]: frame2
Out[64]:
year state pop debt
0 2000 Ohio 1.5 0.0
1 2001 Ohio 1.7 1.0
2 2002 Ohio 3.6 2.0
3 2001 Nevada 2.4 3.0
4 2002 Nevada 2.9 4.0
5 2003 Nevada 3.2 5.0
將串列或陣列指派給欄時,值的長度必須與 DataFrame 的長度相符。
如果指派一個 Series,標籤會與 DataFrame 的索引重新對齊,索引值未被指定的欄位會被插入 NaN
:
In [65]: val = pd.Series([-1.2, -1.5, -1.7], index=["two", "four", "five"])
In [66]: frame2["debt"] = val
In [67]: frame2
Out[67]:
year state pop debt
0 2000 Ohio 1.5 NaN
1 2001 Ohio 1.7 NaN
2 2002 Ohio 3.6 NaN
3 2001 Nevada 2.4 NaN
4 2002 Nevada 2.9 NaN
5 2003 Nevada 3.2 NaN
指派不存在的直欄會建立新欄。
今日的分享就到這囉,我們明天見,掰掰!