Pandas 如何合并 Series 和 DataFrame

Pandas 如何合并 Series 和 DataFrame

在本文中,我们将重点介绍在 Pandas 中如何将 Series 和 DataFrame 进行合并。Series 和 DataFrame 是 Pandas 中最常用的数据结构之一,运用不同的方法实现两者的合并可以为数据分析和处理提供更多的便利。

阅读更多:Pandas 教程

什么是 Series 和 DataFrame

在学习如何合并 Series 和 DataFrame 之前,让我们先来了解一下 Series 和 DataFrame 的基本知识。

Series

Series 是一种一维数据结构,类似于数组、列表,但是数据类型可以是不同的,并且每个元素都带有一个标签(可以是数字或字符串)。

以下是一个创建 Series 的例子:

import pandas as pd

s = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
print(s)
Python

输出结果为:

a    1
b    2
c    3
d    4
dtype: int64
Python

DataFrame

DataFrame 是一种二维数据结构,由多个 Series 组成,可以看作是一张电子表格。每一列可以有不同的数据类型,而且每一列和每一行都有一个标签(可以是数字或字符串)。

以下是一个创建 DataFrame 的例子:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [20, 30, 40], 'gender': ['F', 'M', 'M']}
df = pd.DataFrame(data)
print(df)
Python

输出结果为:

       name  age gender
0    Alice   20      F
1      Bob   30      M
2  Charlie   40      M
Python

如何合并 Series 和 DataFrame

通过以上的介绍,我们知道了 Pandas 中常用的数据结构有 Series 和 DataFrame。接下来,我们将详细介绍如何将它们进行合并。

将 Series 添加到 DataFrame 中

我们可以通过两种方式将一个 Series 添加到一个 DataFrame 中,下面我们就来介绍它们。

使用 DataFrame 的列名添加 Series

我们可以通过 DataFrame 的列名添加一个已经存在的 Series,Pandas 会自动将 Series 的索引与 DataFrame 中的行索引对齐,对于未对齐的索引,Pandas 会用 NaN 值进行填充。

以下是一个例子:

import pandas as pd

df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [20, 30, 40]})
s = pd.Series(['F', 'M', 'M'], name='gender')
df['gender'] = s
print(df)
Python

输出结果为:

       name  age gender
0    Alice   20      F
1      Bob   30      M
2  Charlie   40      M
Python

使用 pd.concat() 添加 Series

我们还可以使用 pd.concat() 方法将一个 Series 添加到一个 DataFrame 中,通过设置 axis=1 将 Series 添加为新列。

以下是一个例子:

import pandas as pd

df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [20, 30, 40]})
s = pd.Series(['F', 'M', 'M'], name='gender')
df = pd.concat([df, s], axis=1)
print(df)
Python

输出结果为:

       name  age gender
0    Alice   20      F
1      Bob   30      M
2  Charlie   40      M
Python

将 DataFrame 添加到 Series 中

我们也可以将一个 DataFrame 添加到一个 Series 中,但是与将 Series 添加到 DataFrame 不同,将 DataFrame 添加到 Series 中会得到一维结构的结果。

以下是一个例子:

import pandas as pd

df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [20, 30, 40], 'gender': ['F', 'M', 'M']})
s = df['age']
print(s)
Python

输出结果为:

0    20
1   30
2    40
Name: age, dtype: int64
Python

总结

本文介绍了在 Pandas 中如何合并 Series 和 DataFrame。我们学习了如何通过将一个 Series 添加到一个 DataFrame 中或将一个 DataFrame 添加到一个 Series 中完成合并操作,以及它们的输出结果。希望这篇文章能够帮助你更好地理解和应用 Pandas 的数据结构和相关方法。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册