Pandas 的 iloc 访问器用于基于整数位置的索引,它可以用于选择 DataFrame 或 Series 中的数据子集。与 loc 不同,iloc 使用行和列的整数位置进行索引,而不是标签。
以下是 iloc 的一些关键特点:
基于整数索引:
使用行和列的整数位置来选择数据。
选择单列:
可以仅通过列的整数位置选择单列的数据。
选择多列:
可以选择多列,返回一个 DataFrame。
选择单行:
可以通过指定行的整数位置选择单行。
选择多行:
可以选择多行,返回一个 DataFrame。
使用切片:
可以使用切片来选择数据范围。
布尔索引:
通常不与布尔数组一起使用,因为它基于整数位置。
就地修改:
可以就地修改数据,不返回新的 DataFrame。
不保持索引:
默认情况下,使用 iloc 选择数据不会保持原始索引。
简介 | 功能 | 公式 | 释义 | 例子 |
---|---|---|---|---|
单行 | iloc获得第一行 | df.iloc[控制行,控制列] |
df.iloc["行Aindex",:] |
data = df.iloc[0,:] |
单行 | iloc获得最后一行 | df.iloc[控制行,控制列] |
df.iloc["行Aindex",:] |
data = df.iloc[-1,:] |
单行 | iloc获得指定行 | df.iloc[控制行] |
df.iloc["行Aindex"] |
data = df.iloc[2] |
单列 | iloc获得指定列 | df.iloc[:,控制列] |
df.iloc[:,"列index"] |
data = df.iloc[:,2] |
连续行连续列 | iloc获得连续行列 | df.iloc[控制行,控制列] |
df.iloc[n:n,n:n] |
data = df.iloc[0:2,0:2] |
不连续行不连续列 | iloc获得不连续行列 | df.iloc[[控制行],[控制列]] |
df.iloc[[n,n],[n,n]] |
data = df.iloc[[0,2],[0,2]] |
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"}, {"A":"3", "B":"2", "C":"5"}, {"A":"2", "B":"1", "C":"6"}])
df = pd.DataFrame(data=[{"A":1, "B":3, "C":4}, {"A":3, "B":2, "C":5}, {"A":2, "B":1, "C":6}])
A | B | C | |
---|---|---|---|
0 | 1 | 3 | 4 |
1 | 3 | 2 | 5 |
2 | 2 | 1 | 6 |
i是index的意思,0开始
iloc选择一行时返回Series,选择多行返回DataFrame
df.iloc[0,:] # 返回第一行
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"},
{"A":"3", "B":"2", "C":"5"},
{"A":"2", "B":"1", "C":"6"}])
print(df)
data = df.iloc[0,:]
print(data)
A | 1 |
B | 3 |
C | 4 |
Name: 0, dtype: object
df.iloc[-1:] # 返回最后一行
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"},
{"A":"3", "B":"2", "C":"5"},
{"A":"2", "B":"1", "C":"6"}])
print(df)
data = df.iloc[-1:]
print(data)
A | B | C | |
---|---|---|---|
2 | 2 | 1 | 6 |
df.iloc[2] # 第三行
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"},
{"A":"3", "B":"2", "C":"5"},
{"A":"2", "B":"1", "C":"6"}])
print(df)
data = df.iloc[2]
print(data)
A | 2 |
B | 1 |
C | 6 |
Name: 2, dtype: object
df.iloc[:,2] # 第三列
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"},
{"A":"3", "B":"2", "C":"5"},
{"A":"2", "B":"1", "C":"6"}])
print(df)
data = df.iloc[:,2]
print(data)
0 | 4 |
1 | 5 |
2 | 6 |
Name: C, dtype: object
df.iloc[0:2,0:2] # 第一行到第二行,第一列到第二列
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"},
{"A":"3", "B":"2", "C":"5"},
{"A":"2", "B":"1", "C":"6"}])
print(df)
data = df.iloc[0:2,0:2]
print(data)
print(type(data))
A | B | |
---|---|---|
0 | 1 | 3 |
1 | 3 | 2 |
df.iloc[[0,2],[0,2]] # 第一行到第三行,第一列到第三列
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"},
{"A":"3", "B":"2", "C":"5"},
{"A":"2", "B":"1", "C":"6"}])
print(df)
data = df.iloc[[0,2],[0,2]]
print(data)
print(type(data))
A | C | |
---|---|---|
0 | 1 | 4 |
2 | 2 | 6 |