美文网首页DATA ANALYSIS PROCESS
Pandas之创建 Pandas Series

Pandas之创建 Pandas Series

作者: IntoTheVoid | 来源:发表于2018-11-24 19:33 被阅读3次

    为何要使用 Pandas?

    机器学习算法能取得最近的飞速发展,部分原因就是我们可以用大量数据训练算法。但是,对于数据来说,数量并不是唯一重要的方面,数据质量也同等重要。经常大型数据库并不能直接馈送到学习算法中。很多时候,大型数据集缺失值、存在离群值、不正确的值,等等…例如,如果数据存在大量丢失值或糟糕值,机器学习算法将无法达到很好的性能。因此,机器学习的重要一步是首先检查数据,通过进行一些基本的数据分析,确保数据很适合你的训练算法。这时候,Pandas 就派上用场了。Pandas Series 和 DataFrame 专门用于快速进行数据分析和操纵,并且使用起来灵活简单。以下是使 Pandas 成为出色的数据分析软件包的几个功能:

    • 允许为行和列设定标签
    • 可以针对时间序列数据计算滚动统计学指标
    • 轻松地处理 NaN 值
    • 能够将不同格式的数据加载到 DataFrame 中
    • 可以将不同的数据集合并到一起
    • 与 NumPy 和 Matplotlib 集成

    因为这些原因以及其他原因,Pandas DataFrame 已经成为 Python 中最常用的数据分析 Pandas 对象之一。

    创建 Pandas Series

    Pandas series 是一个像数组一样的一维对象,可以存储很多类型的数据,例如数字或字符串。Pandas Series 和 NumPy ndarray 之间的主要区别之一是你可以为 Pandas Series 中的每个元素分配索引标签。换句话说,你可以为 Pandas Series 索引指定任何名称。Pandas Series 和 NumPy ndarrays 之间的另一个明显区别是 Pandas Series 可以存储不同类型的数据。

    我们先在 Python 中导入 Pandas。通常,我们使用 pd 导入 Pandas。因此,你可以在 Jupyter Notebook 中输入以下命令,导入 Pandas:

    import pandas as pd
    

    我们先创建一个 Pandas Series。你可以使用 pd.Series(data, index) 命令创建 Pandas Series,其中 index 是一个索引标签列表。我们使用 Pandas Series 存储一个购物清单。我们将使用食品条目作为索引标签,使用购买数量作为数据。

    # We import Pandas as pd into Python
    import pandas as pd
    
    # We create a Pandas Series that stores a grocery list
    groceries = pd.Series(data = [30, 6, 'Yes', 'No'], index = ['eggs', 'apples', 'milk', 'bread'])
    
    # We display the Groceries Pandas Series
    groceries
    

    eggs 30
    apples 6
    milk Yes
    bread No
    dtype: object

    可以看出 Pandas Series 的显示方式为:第一列是索引,第二列是数据。注意,数据的索引不是从 0 到 3,而是采用我们设置的食品名称,即鸡蛋、苹果、等...此外注意,我们的 Pandas Series 中的数据既包括整数,又包括字符串。

    和 NumPy ndarray 一样,通过 Pandas Series 的一些属性,我们可以轻松地获取 series 中的信息。我们来看一些属性:

    # We print some information about Groceries
    print('Groceries has shape:', groceries.shape)
    print('Groceries has dimension:', groceries.ndim)
    print('Groceries has a total of', groceries.size, 'elements')
    

    Groceries has shape: (4,)
    Groceries has dimension: 1
    Groceries has a total of 4 elements

    我们还可以单独输出 Pandas Series 的索引标签和数据。如果你不知道 Pandas Series 的索引标签是什么,这种方法就很有用。

    # We print the index and data of Groceries
    print('The data in Groceries is:', groceries.values)
    print('The index of Groceries is:', groceries.index)
    

    The data in Groceries is: [30 6 'Yes' 'No']
    The index of Groceries is: Index(['eggs', 'apples', 'milk', 'bread'], dtype='object')

    如果你处理的是非常庞大的 Pandas Series,并且不清楚是否存在某个索引标签,可以使用 in 命令检查是否存在该标签:

    # We check whether bananas is a food item (an index) in Groceries
    x = 'bananas' in groceries
    
    # We check whether bread is a food item (an index) in Groceries
    y = 'bread' in groceries
    
    # We print the results
    print('Is bananas an index label in Groceries:', x)
    print('Is bread an index label in Groceries:', y)
    

    Is bananas an index label in Groceries: False
    Is bread an index label in Groceries: True

    相关文章

      网友评论

        本文标题:Pandas之创建 Pandas Series

        本文链接:https://www.haomeiwen.com/subject/ydsnfqtx.html