迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

将 Pandas Series 转换为 DataFrame

作者:迹忆客 最近更新:2023/03/21 浏览次数:

从派生的或现有的 Pandas Series 中创建更新的列是特征工程中的一项艰巨活动。新创建的 Series 或列可以使用 Pandas 的本地函数转换为 Dataframe。在本文中,我们将介绍如何将 Pandas 的 Series 转换为 Dataframe。

在下面的例子中,我们将使用下面的代码段来创建 DataFrame。

import pandas as pd
import numpy as np

np.random.seed(0)

df_series = pd.Series(np.random.randint(0,100,size=(10)),
                        index=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'])

print (df_series)

输出:

a    44
b    47
c    64
d    67
e    67
f     9
g    83
h    21
i    36
j    87
dtype: int64

使用 pandas.DataFrame() 将单个 Pandas Series 转换为 DataFrame

可以使用 DataFrame() 构造函数,将 Pandas Series 作为参数,将 Series 转换为 Dataframe。

import pandas as pd
import numpy as np

np.random.seed(0)

df_series = pd.Series(np.random.randint(0,100,size=(10)),
                        index=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'])

print (pd.DataFrame(df_series, columns=['A']))

输出:

    A
a  81
b  37
c  25
d  77
e  72
f   9
g  20
h  80
i  69
j  79

如上所示,函数的输出将返回一个 Dataframe。

使用 pandas.Series.to_frame() 将单个 Pandas Series 转换为 DataFrame

本函数将给定的 Pandas Series 转换为 Dataframe。列的名称可以用 name 参数设置。

import pandas as pd
import numpy as np

np.random.seed(0)

df_series = pd.Series(np.random.randint(0,100,size=(10)), 
                        index=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'])

print (df_series.to_frame(name='A'))

输出:

    A
a  44
b  47
c  64
d  67
e  67
f   9
g  83
h  21
i  36
j  87

在某些情况下,给定的 Series 没有任何名称。在这种情况下,reset_index() 方法可以派上用场。

import pandas as pd
import numpy as np

np.random.seed(0)

df_series = pd.Series(np.random.randint(0,100,size=(10)), 
                        index=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']).rename_axis('index')

print (df_series)
print ('\n')
print (df_series.reset_index())

输出:

index
a    44
b    47
c    64
d    67
e    67
f     9
g    83
h    21
i    36
j    87
dtype: int64


  index   0
0     a  44
1     b  47
2     c  64
3     d  67
4     e  67
5     f   9
6     g  83
7     h  21
8     i  36
9     j  87

如上所示,创建的 DataFrame 中包含了一个名为 0 的新列,并且现有的索引已经被提升为列。可以使用提供给 reset_index() 函数的 name 参数对名为 0 的列进行重命名,如下所示。

import pandas as pd
import numpy as np

np.random.seed(0)

df_series = pd.Series(np.random.randint(0,100,size=(10)), 
                        index=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']).rename_axis('index')

print (df_series)
print ('\n')
print (df_series.reset_index(name='A'))

输出:

index
a    44
b    47
c    64
d    67
e    67
f     9
g    83
h    21
i    36
j    87
dtype: int64


  index   A
0     a  44
1     b  47
2     c  64
3     d  67
4     e  67
5     f   9
6     g  83
7     h  21
8     i  36
9     j  87

将多个 Pandas Series 转换为 Dataframe

上面的例子已经证明了将一个单一的 Pandas Series 转换为 Dataframe 的能力。如果有多个 Series,而这些需要拼接成一个单一的 Dataframe 呢?在创建单个系列后,可以通过使用 concat() 函数进行连接来创建 DataFrame。

import pandas as pd
import numpy as np

np.random.seed(0)

df_series1 = pd.Series(np.random.randint(0,100,size=(10)), 
                        index=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'])
df_series2 = pd.Series(np.random.randint(40,100,size=(10)), 
                        index=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'])
df_series3 = pd.Series(np.random.randint(80,100,size=(10)), 
                        index=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'])

df_stitched = pd.concat([df_series1, df_series2, df_series3], axis=1)

print (df_stitched)

输出:

    0   1   2
a  44  46  97
b  47  64  85
c  64  64  93
d  67  52  88
e  67  98  89
f   9  41  99
g  83  78  96
h  21  79  99
i  36  63  85
j  87  86  95

请注意,pd.concat() 函数包含了一个 axis=1 参数,它对应于沿列的追加。如果没有提供 axis,将对所有 Dataframe 进行合并或联合。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Django 中的 Slug

发布时间:2023/05/04 浏览次数:173 分类:Python

本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。

Django ALLOWED_HOSTS 介绍

发布时间:2023/05/04 浏览次数:181 分类:Python

本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。

Django 中的 Select_related 方法

发布时间:2023/05/04 浏览次数:129 分类:Python

本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。

在 Django 中上传媒体文件

发布时间:2023/05/04 浏览次数:198 分类:Python

在本文中,我们简要介绍了媒体文件以及如何在 Django 项目中操作媒体文件。

Django 返回 JSON

发布时间:2023/05/04 浏览次数:106 分类:Python

在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。

在 Django 中创建对象

发布时间:2023/05/04 浏览次数:59 分类:Python

本文的目的是解释什么是模型以及如何使用 create() 方法创建对象,并了解如何在 Django 中使用 save() 方法。

在 Django 中为多项选择创建字段

发布时间:2023/05/04 浏览次数:75 分类:Python

在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便