Pandas 将多列值合并为一列

Pandas 将多列值合并为一列

在本文中,我们将学习如何使用Python Pandas库将多列数据合并为一列。在数据分析过程中,我们经常会遇到需要将多个列合并为单个列的情况。由于Pandas库具有出色的数据处理功能,因此它可以轻松地处理这种情况。

阅读更多:Pandas 教程

情况1:将两列合并到一列

如果我们想将两个列合并为一个列,则可以使用Pandas.concat()方法。这个方法接受一个参数axis,它表示在哪个方向上进行合并。如果将它设置为“axis=1”,则它将沿水平轴(即列)进行合并。

例如,假设我们有一个包含两个列的数据帧,它们是“Name”和“City”。我们想将这两列合并到一个名为“Details”的列中。

import pandas as pd

df = pd.DataFrame({'Name': ['John', 'Khan'], 'City': ['Lima', 'Beijing']})
print(df)

#     Name     City
# 0   John     Lima
# 1   Khan  Beijing

df['Details'] = df['Name'] + ', ' + df['City']
print(df)

#     Name     City           Details
# 0   John     Lima        John, Lima
# 1   Khan  Beijing  Khan, Beijing
Python

情况2:将多列合并到一列

如果要将多个列合并到一个列中,则可以使用df.apply()方法。

考虑以下数据帧,其中我们有四列“Section1”,“Section2”,“Section3”和“Section4”。

df = pd.DataFrame({'Section1': ['A', 'B', 'C'], 'Section2': ['D', 'E', 'F'],
                   'Section3': ['G', 'H', 'I'], 'Section4': ['J', 'K', 'L']})

#   Section1 Section2 Section3 Section4
# 0        A        D        G        J
# 1        B        E        H        K
# 2        C        F        I        L
Python

要将这四列合并到一个名为“Details”的列中,请使用df.apply()方法如下所示:

def combine_sections(row):
    return ', '.join(row.values.astype(str))

df['Details'] = df.apply(lambda row: combine_sections(row), axis=1)

print(df)

#   Section1 Section2 Section3 Section4             Details
# 0        A        D        G        J  A, D, G, J
# 1        B        E        H        K  B, E, H, K
# 2        C        F        I        L  C, F, I, L
Python

在这个例子中,我们定义了一个名为“combine_sections”的函数,接受一个行参数,并返回它的所有值的字符串连接。我们使用df.apply()方法调用该函数,并将其应用于所有行。它将在“Details”列中返回合并字符串的结果。

总结

在本文中,我们学习了如何使用Pandas库将多列合并为单列。我们介绍了两种方法:使用Pandas.concat()函数将两页合并到一列中,并使用df.apply()方法将多列合并到一列中。

Pandas是最流行的数据处理库之一,许多数据分析师都在使用它。它可以轻松处理数据的格式,以便我们可以进行有效的数据分析和提取。了解如何使用Pandas库将多列合并为单列将使您更加熟练地操作这个方便而强大的库。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册