Pandas中DataFrame中.iloc属性

Written by

in

文章目录
  • 选择单行或单列: 使用单个整数来选择单行或单列。 例如,df.iloc[0] 选择第一行,df.iloc[:, 0] 选择第一列。 选择多行或多列: 使用整数列表或切片来选择多行或多列。 例如,df.iloc[0:3] 选择前三行,df.iloc[:, 0:2] 选择前两列。 选择特定位置的元素: 使用两个整数来选择特定位置的单个元素。 例如,df.iloc[0, 0] 选择第一行第一列的元素。 布尔索引结合使用: 可以与布尔数组结合使用来选择特定条件的行。 例如,df.iloc[df['column_name'] > value] 选择满足条件的行(虽然这更常用 .loc 来实现)。
  • 设一个 DataFrame df : import pandas as pd data = { ‘A’: [1, 2, 3, 4], ‘B’: [5, 6, 7, 8], ‘C’: [9, 10, 11, 12] } df = pd.DataFrame(data)  选择第一行 print(df.iloc[0])  输出 A    1  B    5  C    9  Name: 0, dtype: int64 选择前两列 print(df.iloc[:, 0:2]) 输出 A  B  0  1  5  1  2  6  2  3  7  3  4  8 选择第一行第二列的元素 print(df.iloc[0, 1]) 输出 5 选择第二和第四行 print(df.iloc[[1, 3]]) 输出 A  B   C  1  2  6  10  3  4  8  12
  • df = pd.read_excel(‘0_data.xlsx’, engine=’openpyxl’) z1 = df[[‘z1_x’, ‘z1_y’]] print( z1[1]) 使用 pandas 的 read_excel 函数从 Excel 文件 '0_data.xlsx' 中读取数据,并将其存储在 DataFrame df 中。接着从 df 中选择了不同的列来创建新的 DataFrame 或 Series 对象:z1 包含 'z1_x' 和 'z1_y' 列。 然而,在打印 z1[1] 时,z1[1] 实际上并不会打印出 z1 DataFrame 中的第二行(在 pandas 中,索引通常是从 0 开始的)。相反,z1[1] 会尝试基于列标签来选择数据,因为传递了一个整数给 DataFrame 的 __getitem__ 方法,而该方法首先会尝试将其解释为列标签(如果它看起来像是一个有效的列名或可以被解释为列名的某种形式)。 但是,因为 1 不是一个有效的列名,所以这里的行为实际上取决于 pandas 的版本和内部实现——在某些情况下,它可能会抛出一个错误,而在其他情况下,它可能会尝试将整数解释为位置索引(尽管这通常不是推荐的做法,因为它可能会导致混淆)。 要正确地按位置索引选择 DataFrame 中的行,应该使用 .iloc 属性,如下所示: print(z1.iloc[1]) 这将打印出 z1 DataFrame 中的第二行(索引为 1 的行)。 如果 Excel 文件中的列名确实包含空格或特殊字符(比如 la1 和 la2),并且在代码中也是按原样引用的这些列名,需要确保 Excel 文件中的列名与在代码中使用的完全匹配(包括大小写)。 到此这篇关于Pandas中DataFrame中.iloc 属性的文章就介绍到这了,更多相关DataFrame中.iloc 属性内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: pandas.DataFrame.iloc的具体使用详解 python DataFrame中loc与iloc取数据的基本方法实例 详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据 详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别) python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现 浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
  • 目录
    • 基本用法
    • 代码示例
    • 常见错误

    .iloc 是 Pandas 库中 DataFrame 和 Series 对象的一个属性,用于基于整数位置的索引来选择数据。与基于标签的 .loc 索引不同,.iloc 使用从 0 开始的整数位置来访问行和列。这对于处理需要按位置而不是按标签选择数据的场景非常有用。

    1. 选择单行或单列
      • 使用单个整数来选择单行或单列。
      • 例如,df.iloc[0] 选择第一行,df.iloc[:, 0] 选择第一列。
    2. 选择多行或多列
      • 使用整数列表或切片来选择多行或多列。
      • 例如,df.iloc[0:3] 选择前三行,df.iloc[:, 0:2] 选择前两列。
    3. 选择特定位置的元素
      • 使用两个整数来选择特定位置的单个元素。
      • 例如,df.iloc[0, 0] 选择第一行第一列的元素。
    4. 布尔索引结合使用
      • 可以与布尔数组结合使用来选择特定条件的行。
      • 例如,df.iloc[df['column_name'] > value] 选择满足条件的行(虽然这更常用 .loc 来实现)。

    设一个 DataFrame df :

    import pandas as pd  
      
    data = {  
        'A': [1, 2, 3, 4],  
        'B': [5, 6, 7, 8],  
        'C': [9, 10, 11, 12]  
    }  
    df = pd.DataFrame(data)

     选择第一行

    print(df.iloc[0])

     输出

    A    1  
    B    5  
    C    9  
    Name: 0, dtype: int64

    选择前两列

    print(df.iloc[:, 0:2])

    输出

    A  B  
    0  1  5  
    1  2  6  
    2  3  7  
    3  4  8

    选择第一行第二列的元素

    print(df.iloc[0, 1])

    输出

    5

    选择第二和第四行

    print(df.iloc[[1, 3]])

    输出

    A  B   C  
    1  2  6  10  
    3  4  8  12

    df = pd.read_excel('0_data.xlsx', engine='openpyxl')
    z1 = df[['z1_x', 'z1_y']]
    print( z1[1])

    使用 pandas 的 read_excel 函数从 Excel 文件 '0_data.xlsx' 中读取数据,并将其存储在 DataFrame df 中。接着从 df 中选择了不同的列来创建新的 DataFrame 或 Series 对象:z1 包含 'z1_x' 和 'z1_y' 列。

    然而,在打印 z1[1] 时,z1[1] 实际上并不会打印出 z1 DataFrame 中的第二行(在 pandas 中,索引通常是从 0 开始的)。相反,z1[1] 会尝试基于列标签来选择数据,因为传递了一个整数给 DataFrame 的 __getitem__ 方法,而该方法首先会尝试将其解释为列标签(如果它看起来像是一个有效的列名或可以被解释为列名的某种形式)。

    但是,因为 1 不是一个有效的列名,所以这里的行为实际上取决于 pandas 的版本和内部实现——在某些情况下,它可能会抛出一个错误,而在其他情况下,它可能会尝试将整数解释为位置索引(尽管这通常不是推荐的做法,因为它可能会导致混淆)。

    要正确地按位置索引选择 DataFrame 中的行,应该使用 .iloc 属性,如下所示:

    print(z1.iloc[1])

    这将打印出 z1 DataFrame 中的第二行(索引为 1 的行)。

    如果 Excel 文件中的列名确实包含空格或特殊字符(比如 la1 和 la2),并且在代码中也是按原样引用的这些列名,需要确保 Excel 文件中的列名与在代码中使用的完全匹配(包括大小写)。

    到此这篇关于Pandas中DataFrame中.iloc 属性的文章就介绍到这了,更多相关DataFrame中.iloc 属性内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • pandas.DataFrame.iloc的具体使用详解
    • python DataFrame中loc与iloc取数据的基本方法实例
    • 详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
    • 详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
    • python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
    • 浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)

    站内搜索