• 如何在Pandas DataFrame中串联列值?


     

    很多时候,我们需要将不同列中的值组合到一个列中。可以有很多用例,例如将列表中人员的名字和姓氏合并,将日期,月份和年份合并到“日期”的单个列中,等等。现在,我们将看到如何在帮助下实现此目的。一些例子。

    示例1:在此示例中,我们将姓氏名的两个列合并为一个列名。为此,我们将使用map函数。 

    亮度_4

    import pandas as pd
    from pandas import DataFrame 
       
    # creating a dictionary of names
    Names = {'FirstName':['Suzie','Emily','Mike','Robert'],
             'LastName':['Bates','Edwards','Curry','Frost']}
       
    # creating a dataframe from dictionary
    df = DataFrame(Names, columns=['FirstName','LastName'])
    print(df)
       
    print(' ')
       
    # concatenating the columns
    df['Name'] = df['FirstName'].map(str) + ' ' + df['LastName'].map(str)
    print(df)

    输出:
    pandas-concatenate-column-2

    pandas-concatenate-column-2

    示例2:类似地,我们可以连接数据帧中任意数量的列。让我们看另一个示例,将一个日期,月份和年份的三个不同的列连接在一个“日期”列中。 

    亮度_4

    import pandas as pd
    from pandas import DataFrame 
      
    # creating a dictionary of Dates
    Dates = {'Day': [1, 29, 23, 4, 15], 
            'Month': ['Aug', 'Feb', 'Aug', 'Apr', 'Mar'], 
            'Year': [1947, 1983, 2007, 2011, 2020]}
      
    # creating a dataframe from dictionary
    df = DataFrame(Dates, columns = ['Day', 'Month', 'Year'])
    print (df)
      
    print(' ')
      
    # concatenating the columns
    df['Date'] = df['Day'].map(str) + '-' + df['Month'].map(str) + '-' + df['Year'].map(str)
    print (df)

    输出:

    pandas-concatenate-column-3

    pandas-concatenate-column-4

    范例3:

    我们可以进一步进行此过程,并连接来自多个不同数据帧的多个列。在此示例中,我们将数据帧df1和df2的列合并为一个数据帧。

    filter_none

    亮度_4

    import pandas as pd
    from pandas import DataFrame 
      
    # creating a dictionary of Dates
    Dates = {'Day': [1, 1, 1, 1], 
            'Month': ['Jan', 'Jan', 'Jan', 'Jan'], 
            'Year': [2017, 2018, 2019, 2020]} 
      
    # creating a dataframe from dictionary
    df1 = DataFrame(Dates, columns = ['Day', 'Month', 'Year']) 
      
    # creating a dictionary of Rates
    Rates = {'GDP': [5.8, 7.6, 5.6, 4.1], 
             'Inflation Rate': [2.49, 4.85, 7.66, 6.08]} 
      
    # creating a dataframe from dictionary
    df2 = DataFrame(Rates, columns = ['GDP', 'Inflation Rate'])
      
    # combining columns of df1 and df2
    df_combined = df1['Day'].map(str) + '-' + df1['Month'].map(str) + '-' + df1['Year'].map(str) + ': ' + 'GDP: ' + df2['GDP'].map(str) + '; ' + 'Inflation: ' + df2['Inflation Rate'].map(str)
    print (df_combined)

    输出:

    pandas-concatenate-column-5

  • 相关阅读:
    mysql常用语法
    Java虚拟机(JVM)内存区域
    Java基础之this和super关键字用法
    Java基础之instanceof和transient关键字用法
    排序算法之快速排序
    Java基础之final和abstract关键字
    排序算法之归并排序
    Java基础之static关键字的用法
    剑指offer题目系列三(链表相关题目)
    数据结构之栈和队列及其Java实现
  • 原文地址:https://www.cnblogs.com/a00ium/p/13874641.html
Copyright © 2020-2023  润新知