使用 .loc

.loc 使用標籤來讀寫資料。

我們設定一個 DataFrame:

df = pd.DataFrame({'one': [1, 2, 3, 4, 5],
                   'two': [6, 7, 8, 9, 10],
                  }, index=['a', 'b', 'c', 'd', 'e'])

然後我們可以列印 DataFrame 來檢視形狀:

print df 

這將輸出

   one  two
a    1    6
b    2    7
c    3    8
d    4    9
e    5   10

我們使用列和行標籤來訪問 .loc 資料。讓我們將行’c’,列’two’設定為值 33:

df.loc['c', 'two'] = 33 

這就是 DataFrame 現在的樣子:

   one  two
a    1    6
b    2    7
c    3   33
d    4    9
e    5   10

值得注意的是,使用 df['two'].loc['c'] = 33 可能不會報告警告,甚至可能會起作用,但是,使用 df.loc['c', 'two'] 可以保證正常工作,而前者則不然。

例如,我們可以讀取資料片段

print df.loc['a':'c'] 

將列印行 a 到 c。這是包容性的。

   one  two
a    1    6
b    2    7
c    3    8

最後,我們可以一起做兩件事:

print df.loc['b':'d', 'two']

將輸出 b 到列’‘‘的行 b。請注意,不列印列標籤。

b    7
c    8
d    9

如果 .loc 提供的是不是標籤的整數引數,則它將恢復為軸的整數索引(.iloc 的行為)。這使得混合標籤和整數索引成為可能:

df.loc['b', 1]

將返回行’b’中第二列(索引從 0 開始)的值:

7