查看原文
其他

图解Pandas,创建数据对象 | 图文第2篇

我是阳哥 Python数据之道 2022-09-07

01写在前面

大家好,我是阳哥,欢迎来到「Python数据之道」。

本次是《图解Pandas》系列图文内容的 第 02 篇,主要是对Pandas中 创建数据对象 进行介绍。

本文是付费阅读文章,付费阅读内容包括《图解Pandas》图文干货内容、可以在电脑端观看的视频以及配套的源代码等。


此外,为避免各种不必要的麻烦,微信没有退款机制,本文也不会退款,付费前请谨慎。

Pandas 是 Python数据分析中用的最多的工具,为了大家能够更好地学习 Pandas,阳哥开始制作一系列 《图解Pandas》 的内容。

《图解Pandas》 最主要的目标,是以动态图片、视频等方式呈现,实现从原理步骤拆解 Pandas 在数据处理过程中的主要知识点,以便大家能进一步了解 Pandas 的使用,形象地介绍 Pandas,进而使大家喜欢上 Pandas 这个得心应手的工具。

《图解Pandas》图文专题,最新的内容可以点击下面的图片进行查看。

在本文编写时,《图解Pandas》系列已发布的图文如下:

02Python环境

今天主要是对 Pandas 中 如何创建数据对象进行介绍。在微信视频号「Python数据之道」中发布的视频如下,视频时长约4分30秒,大家可以前往观看:

开始之前,按照惯例先介绍下本次内容涉及的Python环境,如下:

  • Python 3.8
  • Pandas 1.4.1
  • numpy 1.22.3

我是在 jupyter notebook 中运行代码的,首先引入相关 Python 库:

import pandas as pd
import numpy as np

print(f'pandas version:{pd.__version__}')
print(f'numpy version:{np.__version__}')

03Series

在Pandas中,主要包括两种类型的数据,一种是 Series,另一种是 DataFrame,DataFrame 中文翻译称之为“数据框”。创建数据对象也将围绕这两种数据类型来展开。

首先,咱们来学习如何创建 Series 数据,常见的方法有以下几种,根据不同的场景,选择合适的使用即可。在代码层面,一般是通过 pd.Series() 方法来实现。

通过列表创建 Series

第一种是通过列表创建Series,如图所示,左边为代码,右边为数据结果。

可以同时指定索引值。此外,还可以设置 name 参数值,以及其他的一些参数。

设置索引:

s2 = pd.Series([1,2,3],index=['a','b','c'])
s2

同时设置索引和name参数:

s3 = pd.Series(
    [1,2,3],
    index=['a','b','c'],
    name='hello'
    )
s3

通过字典创建 Series

第二种是通过字典创建Series,从实现结果来看,字典中的key值为Series的索引。

通过 ndarray 创建 Series

第三种是通过 numpyarray 数据来创建 Series,这里通过 random 函数来创建一个一维array数据,接着创建Series。

通过标量来创建 Series

第四种是通过标量来创建Series,所谓标量,也可以理解为是具体的单个数据。这里的标量为 1,通过设置索引的长度,可以控制创建数据的行数。

创建空的 Series

第五种是创建空的Series,这是一种特殊的方法,本身不会创建出具体的数据值,但空的Series也是有它特定的用途的。

04DataFrame

接下来,咱们来学习如何创建数据框,常用的方法有以下几种。在代码层面一般是通过 pd.DataFrame() 方法来实现。

创建空的 DataFrame

先来看如何创建空的数据框,代码如下所示。空的数据框,用途还是挺广泛的,在数据合并、数据采集等方面都可以使用。

通过 ndarray 创建 DataFrame

第2种是通过 numpy 的 array 数据来创建数据框,这里通过numpy 的random函数来创建一个二维array数据,接着创建数据框。

np.random.seed(0)
arr = np.random.randint(10,size=[5,3])
df = pd.DataFrame(arr,columns=list('abc'))
df

创建的数据如下:

也可以通过由 元组(tuple)组成的 array来创建数据框。需要注意的是,在代码方面,这里使用的是 pd.DataFrame.from_records() 方法。

# from_records
arr = np.array(
    [
        ("Lemon""长沙"8090),
        ("Jack""上海"9075),
        ("Peter""深圳"6080),
    ]
)
df = pd.DataFrame.from_records(
    arr, 
    columns=["name""city""math""chem"]
    )
df

数据结果如下:

不过,使用 pd.DataFrame() 也可以实现同样的结果。

arr = np.array(
    [
        ("Lemon""长沙"8090),
        ("Jack""上海"9075),
        ("Peter""深圳"6080),
    ]
)
df = pd.DataFrame(
    arr, 
    columns=["name""city""math""chem"]
    )
df

通过列表创建数据框

第3种是通过列表创建数据框,可以细分为几种不同的方法。

一维列表

微信扫一扫付费阅读本文

可试读56%

微信扫一扫付费阅读本文

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存