• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

  • 共95篇

    python3.X - 数据分析 - Pandas

关闭

返回栏目

关闭

返回python3.X - 数据分析 - Pandas栏目

61 - 选择数据 - df.iloc[:,:] - 行index,列index

作者:

贺及楼

成为作者

更新日期:2024-10-18 14:35:59

iloc()

iloc简介

Pandas 的 iloc 访问器用于基于整数位置的索引,它可以用于选择 DataFrame 或 Series 中的数据子集。与 loc 不同,iloc 使用行和列的整数位置进行索引,而不是标签。

以下是 iloc 的一些关键特点:

基于整数索引:
使用行和列的整数位置来选择数据。

选择单列:
可以仅通过列的整数位置选择单列的数据。

选择多列:
可以选择多列,返回一个 DataFrame。

选择单行:
可以通过指定行的整数位置选择单行。

选择多行:
可以选择多行,返回一个 DataFrame。

使用切片:
可以使用切片来选择数据范围。

布尔索引:
通常不与布尔数组一起使用,因为它基于整数位置。

就地修改:
可以就地修改数据,不返回新的 DataFrame。

不保持索引:
默认情况下,使用 iloc 选择数据不会保持原始索引。

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]]

基础数据

  1. import numpy as np
  2. import pandas as pd
  3. df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"}, {"A":"3", "B":"2", "C":"5"}, {"A":"2", "B":"1", "C":"6"}])
  4. 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

iloc获得第一行

  1. df.iloc[0,:] # 返回第一行
  1. import numpy as np
  2. import pandas as pd
  3. df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"},
  4. {"A":"3", "B":"2", "C":"5"},
  5. {"A":"2", "B":"1", "C":"6"}])
  6. print(df)
  7. data = df.iloc[0,:]
  8. print(data)
A 1
B 3
C 4

Name: 0, dtype: object
iloc第一行

iloc获得最后一行

  1. df.iloc[-1:] # 返回最后一行
  1. import numpy as np
  2. import pandas as pd
  3. df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"},
  4. {"A":"3", "B":"2", "C":"5"},
  5. {"A":"2", "B":"1", "C":"6"}])
  6. print(df)
  7. data = df.iloc[-1:]
  8. print(data)
A B C
2 2 1 6

iloc获得最后一行

iloc获得第三行

  1. df.iloc[2] # 第三行
  1. import numpy as np
  2. import pandas as pd
  3. df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"},
  4. {"A":"3", "B":"2", "C":"5"},
  5. {"A":"2", "B":"1", "C":"6"}])
  6. print(df)
  7. data = df.iloc[2]
  8. print(data)
A 2
B 1
C 6

Name: 2, dtype: object

iloc获得第三行

iloc获得第三列

  1. df.iloc[:,2] # 第三列
  1. import numpy as np
  2. import pandas as pd
  3. df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"},
  4. {"A":"3", "B":"2", "C":"5"},
  5. {"A":"2", "B":"1", "C":"6"}])
  6. print(df)
  7. data = df.iloc[:,2]
  8. print(data)
0 4
1 5
2 6

Name: C, dtype: object
iloc获得第三列

iloc获得连续行列

  1. df.iloc[0:2,0:2] # 第一行到第二行,第一列到第二列
  1. import numpy as np
  2. import pandas as pd
  3. df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"},
  4. {"A":"3", "B":"2", "C":"5"},
  5. {"A":"2", "B":"1", "C":"6"}])
  6. print(df)
  7. data = df.iloc[0:2,0:2]
  8. print(data)
  9. print(type(data))
A B
0 1 3
1 3 2

iloc获得连续行列

iloc获得不连续行列

  1. df.iloc[[0,2],[0,2]] # 第一行到第三行,第一列到第三列
  1. import numpy as np
  2. import pandas as pd
  3. df = pd.DataFrame(data=[{"A":"1", "B":"3", "C":"4"},
  4. {"A":"3", "B":"2", "C":"5"},
  5. {"A":"2", "B":"1", "C":"6"}])
  6. print(df)
  7. data = df.iloc[[0,2],[0,2]]
  8. print(data)
  9. print(type(data))
A C
0 1 4
2 2 6

iloc获得不连续行列