您的位置:

Python Series变成DataFrame详解

一、Series与DataFrame的概念

在介绍如何将Series转化为DataFrame之前,我们需要了解一下什么是Series和DataFrame。

在pandas库中,Series是一种类似于一维数组的对象,其由一组数据以及与之相关的标签(即索引)组成。其中,数据可以是任意的NumPy数据类型。而DataFrame则是一种二维表格数据结构,它包括多行和多列,其中每列可以是一种不同的数据类型。可以将DataFrame看作是由多个Series组成的排列。

二、如何将Series转化为DataFrame

1. pd.DataFrame()函数

可以使用pandas自带的pd.DataFrame()函数将Series转化为DataFrame。该函数的语法格式如下:

df = pd.DataFrame(data, columns=['col_name'])

其中,data是一个Series对象,columns参数可以指定新生成的DataFrame的列名。

以下是一段示例代码,展示了如何通过pd.DataFrame()函数将Series转化为DataFrame:

import pandas as pd
 
s = pd.Series([1, 3, 5, 7, 9])
df = pd.DataFrame(s, columns=['Number'])
 
print(df)

输出结果如下:

   Number
0       1
1       3
2       5
3       7
4       9

2. pd.concat()函数

除了使用pd.DataFrame()函数之外,我们还可以使用pd.concat()函数将多个Series对象合并成一个DataFrame。该函数的语法格式如下:

df = pd.concat([s1, s2, ...], axis=1, keys=['col_name1', 'col_name2', ...])

其中,s1、s2是Series对象,axis参数指定合并的方向,keys参数可以指定新生成的DataFrame的列名。

以下是一段示例代码,展示了如何通过pd.concat()函数将Series转化为DataFrame:

import pandas as pd
 
s1 = pd.Series([1, 2, 3])
s2 = pd.Series([4, 5, 6])
s3 = pd.Series([7, 8, 9])
 
df = pd.concat([s1, s2, s3], axis=1, keys=['A', 'B', 'C'])
 
print(df)

输出结果如下:

   A  B  C
0  1  4  7
1  2  5  8
2  3  6  9

3. pd.DataFrame.from_records()函数

除了pd.DataFrame()函数和pd.concat()函数之外,我们还可以使用pd.DataFrame.from_records()函数将字典或多个Series对象转换为DataFrame格式。该函数的语法格式如下:

df = pd.DataFrame.from_records(data, columns=['col_name'])

其中,data是一个字典或者多个Series对象,columns参数可以指定新生成的DataFrame的列名。

以下是一段示例代码,展示了如何通过pd.DataFrame.from_records()函数将多个Series转化为DataFrame:

import pandas as pd
 
s1 = pd.Series([1, 2, 3])
s2 = pd.Series([4, 5, 6])
s3 = pd.Series([7, 8, 9])
 
data = {'A': s1, 'B': s2, 'C': s3}
 
df = pd.DataFrame.from_records(data, columns=['A', 'B', 'C'])
 
print(df)

输出结果如下:

   A  B  C
0  1  4  7
1  2  5  8
2  3  6  9

三、小结

以上就是本文介绍如何将Python Series转化为DataFrame的方法,通过这些方法,我们可以方便地将Series数据转化为二维表格DataFrame格式,便于进行数据处理和分析。