zoukankan      html  css  js  c++  java
  • 在Pandas Dataframe中遍历行的不同方法

     

    Python是进行数据分析的一种出色语言,主要是因为以数据为中心的Python软件包具有奇妙的生态系统。Pandas是其中的一种,使导入和分析数据更加容易。

    让我们看看在Pandas Dataframe中遍历行的不同方法

    方法#1:使用Dataframe的index属性。

    # import pandas package as pd 
    import pandas as pd 
    
    # Define a dictionary containing students data 
    data = {'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka'], 
                    'Age': [21, 19, 20, 18], 
                    'Stream': ['Math', 'Commerce', 'Arts', 'Biology'], 
                    'Percentage': [88, 92, 95, 70]} 
    
    # Convert the dictionary into DataFrame 
    df = pd.DataFrame(data, columns = ['Name', 'Age', 'Stream', 'Percentage']) 
    
    print("Given Dataframe :
    ", df) 
    
    print("
    Iterating over rows using index attribute :
    ") 
    
    # iterate through each row and select 
    # 'Name' and 'Stream' column respectively. 
    for ind in df.index: 
        print(df['Name'][ind], df['Stream'][ind]) 
    输出:Given Dataframe :         Name Age Stream Percentage
    0      Ankit   21      Math          88
    1       Amit   19  Commerce          92
    2  Aishwarya   20      Arts          95
    3   Priyanka   18   Biology          70
    
    Iterating over rows using index attribute :
    
    Ankit Math
    Amit Commerce
    Aishwarya Arts
    Priyanka Biology
    方法2:使用数据框的loc []函数。
    # import pandas package as pd 
    import pandas as pd 
    
    # Define a dictionary containing students data 
    data = {'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka'], 
                    'Age': [21, 19, 20, 18], 
                    'Stream': ['Math', 'Commerce', 'Arts', 'Biology'], 
                    'Percentage': [88, 92, 95, 70]} 
    
    # Convert the dictionary into DataFrame 
    df = pd.DataFrame(data, columns = ['Name', 'Age', 'Stream', 'Percentage']) 
    
    print("Given Dataframe :
    ", df) 
    
    print("
    Iterating over rows using loc function :
    ") 
    
    # iterate through each row and select 
    # 'Name' and 'Age' column respectively. 
    for i in range(len(df)) : 
    print(df.loc[i, "Name"], df.loc[i, "Age"]) 

    输出:

    Given Dataframe :
             Name  Age    Stream  Percentage
    0      Ankit   21      Math          88
    1       Amit   19  Commerce          92
    2  Aishwarya   20      Arts          95
    3   Priyanka   18   Biology          70
    
    Iterating over rows using loc function :
    
    Ankit 21
    Amit 19
    Aishwarya 20
    Priyanka 18


    方法3:使用DataFrame的iloc []函数。

    # import pandas package as pd 
    import pandas as pd 
    
    # Define a dictionary containing students data 
    data = {'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka'], 
                    'Age': [21, 19, 20, 18], 
                    'Stream': ['Math', 'Commerce', 'Arts', 'Biology'], 
                    'Percentage': [88, 92, 95, 70]} 
    
    # Convert the dictionary into DataFrame 
    df = pd.DataFrame(data, columns = ['Name', 'Age', 'Stream', 'Percentage']) 
    
    print("Given Dataframe :
    ", df) 
    
    print("
    Iterating over rows using iloc function :
    ") 
    
    # iterate through each row and select 
    # 0th and 2nd index column respectively. 
    for i in range(len(df)) : 
    print(df.iloc[i, 0], df.iloc[i, 2]) 
    输出:
    Given Dataframe :
             Name  Age    Stream  Percentage
    0      Ankit   21      Math          88
    1       Amit   19  Commerce          92
    2  Aishwarya   20      Arts          95
    3   Priyanka   18   Biology          70
    
    Iterating over rows using iloc function :
    
    Ankit Math
    Amit Commerce
    Aishwarya Arts
    Priyanka Biology

    方法4:使用数据框的iterrows()方法。

    # import pandas package as pd 
    import pandas as pd 
    
    # Define a dictionary containing students data 
    data = {'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka'], 
                    'Age': [21, 19, 20, 18], 
                    'Stream': ['Math', 'Commerce', 'Arts', 'Biology'], 
                    'Percentage': [88, 92, 95, 70]} 
    
    # Convert the dictionary into DataFrame 
    df = pd.DataFrame(data, columns = ['Name', 'Age', 'Stream', 'Percentage']) 
    
    print("Given Dataframe :
    ", df) 
    
    print("
    Iterating over rows using iterrows() method :
    ") 
    
    # iterate through each row and select 
    # 'Name' and 'Age' column respectively. 
    for index, row in df.iterrows(): 
        print (row["Name"], row["Age"]) 

    输出:

    Given Dataframe :
             Name  Age    Stream  Percentage
    0      Ankit   21      Math          88
    1       Amit   19  Commerce          92
    2  Aishwarya   20      Arts          95
    3   Priyanka   18   Biology          70
    
    Iterating over rows using iterrows() method :
    
    Ankit 21
    Amit 19
    Aishwarya 20
    Priyanka 18


    方法5:使用数据框的itertuples()方法。

    # import pandas package as pd 
    import pandas as pd 
    
    # Define a dictionary containing students data 
    data = {'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka'], 
                    'Age': [21, 19, 20, 18], 
                    'Stream': ['Math', 'Commerce', 'Arts', 'Biology'], 
                    'Percentage': [88, 92, 95, 70]} 
    
    # Convert the dictionary into DataFrame 
    df = pd.DataFrame(data, columns = ['Name', 'Age', 'Stream', 'Percentage']) 
    
    print("Given Dataframe :
    ", df) 
    
    print("
    Iterating over rows using itertuples() method :
    ") 
    
    # iterate through each row and select 
    # 'Name' and 'Percentage' column respectively. 
    for row in df.itertuples(index = True, name ='Pandas'): 
        print (getattr(row, "Name"), getattr(row, "Percentage")) 

    输出:

    Given Dataframe :
             Name  Age    Stream  Percentage
    0      Ankit   21      Math          88
    1       Amit   19  Commerce          92
    2  Aishwarya   20      Arts          95
    3   Priyanka   18   Biology          70
    
    Iterating over rows using itertuples() method :
    
    Ankit 88
    Amit 92
    Aishwarya 95
    Priyanka 70

    方法6:使用数据框的apply()方法。

    # import pandas package as pd 
    import pandas as pd 
    
    # Define a dictionary containing students data 
    data = {'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka'], 
                    'Age': [21, 19, 20, 18], 
                    'Stream': ['Math', 'Commerce', 'Arts', 'Biology'], 
                    'Percentage': [88, 92, 95, 70]} 
    
    # Convert the dictionary into DataFrame 
    df = pd.DataFrame(data, columns = ['Name', 'Age', 'Stream', 'Percentage']) 
    
    print("Given Dataframe :
    ", df) 
    
    print("
    Iterating over rows using apply function :
    ") 
    
    # iterate through each row and concatenate 
    # 'Name' and 'Percentage' column respectively. 
    print(df.apply(lambda row: row["Name"] + " " + str(row["Percentage"]), axis = 1)) 

    输出:

    Given Dataframe :
             Name  Age    Stream  Percentage
    0      Ankit   21      Math          88
    1       Amit   19  Commerce          92
    2  Aishwarya   20      Arts          95
    3   Priyanka   18   Biology          70
    
    Iterating over rows using apply function :
    
    0        Ankit 88
    1         Amit 92
    2    Aishwarya 95
    3     Priyanka 70
    dtype: object

     

  • 相关阅读:
    input.file上传图片| FileReader h5新特性
    lua的luasocket程序
    nginx的proxy_set_header
    lua的table.sort
    lua的深拷贝和浅拷贝
    nginx的location匹配
    kong后台接口
    一些程序和工具
    lua的模式匹配
    php的一些语法
  • 原文地址:https://www.cnblogs.com/a00ium/p/13874873.html
Copyright © 2011-2022 走看看