📜  按列加入 pandas 数据帧 - Python (1)

📅  最后修改于: 2023-12-03 14:54:39.687000             🧑  作者: Mango

按列加入 Pandas 数据帧 - Python

在 Pandas 中,有时我们需要将多个 DataFrame 或 Series 数据按列合并成一个大的 DataFrame,这个过程就称为按列加入。在本文中,我们将介绍如何在 Python 中使用 Pandas 实现按列加入。

创建数据

为了演示如何进行按列加入,在本文中我们先创建几个DataFrame数据:

import pandas as pd

# DataFrame1
data1 = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
         'age': [25, 20, 30, 18]}
df1 = pd.DataFrame(data1)

# DataFrame2
data2 = {'name': ['Ella', 'Frank', 'George', 'Henry'],
         'age': [22, 27, 18, 24]}
df2 = pd.DataFrame(data2)

# Series1
data3 = pd.Series([45, 32, 27, 18], name='score')

df1 和 df2 都有 'name' 和 'age' 两列数据,我们将它们按列合并,并将一列 Series1 合并到最终的 DataFrame 中。

按列加入 DataFrame

接下来,我们使用 Pandas 的 concat 函数,将 df1 和 df2 按列合并:

# 将df1和df2按列合并
df = pd.concat([df1, df2], axis=1)
print(df)

输出结果如下:

       name  age    name  age
0     Alice   25    Ella   22
1       Bob   20   Frank   27
2   Charlie   30  George   18
3     David   18   Henry   24

可以看到,我们得到了一个新的 DataFrame,其中包含了 df1 和 df2 的所有列。

按列加入 Series

接下来,我们将 Series1 合并到最终的 DataFrame 中:

# 将df和Series1按列合并
df = pd.concat([df, data3], axis=1)
print(df)

输出结果如下:

       name  age    name  age  score
0     Alice   25    Ella   22     45
1       Bob   20   Frank   27     32
2   Charlie   30  George   18     27
3     David   18   Henry   24     18

我们成功的将 Series1 合并到了最终的 DataFrame 中,其中 'score' 列的名字即是 Series1 的名字。

总结

在 Pandas 中,使用 concat 函数可以将多个 DataFrame 或 Series 按列合并。需要注意的是,合并的 DataFrame 或 Series 的行数必须相同,否则将会产生缺失值。