Pandas处理的是什么样的数据?#

  • 我想开始用Pandas

    In [1]: import pandas as pd
    

    要加载Pandas包并开始使用它,请导入该包。社区同意的Pandas的别名是 pd ,所以把Pandas装成 pd 被认为是所有Pandas文档的标准做法。

PANAS数据表表示法#

../../_images/01_table_dataframe.svg
  • 我想存储泰坦尼克号的乘客数据。对于一些乘客,我知道姓名(字符)、年龄(整数)和性别(男性/女性)数据。

    In [2]: df = pd.DataFrame(
       ...:     {
       ...:         "Name": [
       ...:             "Braund, Mr. Owen Harris",
       ...:             "Allen, Mr. William Henry",
       ...:             "Bonnell, Miss. Elizabeth",
       ...:         ],
       ...:         "Age": [22, 35, 58],
       ...:         "Sex": ["male", "male", "female"],
       ...:     }
       ...: )
       ...: 
    
    In [3]: df
    Out[3]: 
                           Name  Age     Sex
    0   Braund, Mr. Owen Harris   22    male
    1  Allen, Mr. William Henry   35    male
    2  Bonnell, Miss. Elizabeth   58  female
    

    若要在表中手动存储数据,请创建 DataFrame 。使用列表的Python字典时,字典键将用作列标题,每个列表中的值将用作 DataFrame

A DataFrame 是一种二维数据结构,可以在列中存储不同类型的数据(包括字符、整数、浮点值、分类数据等)。它类似于电子表格、SQL表或 data.frame 在R.

  • 该表有3列,每列都有一个列标签。列标签分别为 NameAgeSex

  • 该栏目 Name 由文本数据组成,每个值都是一个字符串,列 Age 是数字和列 Sex 是文本数据。

在电子表格软件中,我们的数据的表格表示将看起来非常相似:

../../_images/01_table_spreadsheet.png

中的每一列 DataFrame 是一种 Series#

../../_images/01_table_series.svg
  • 我只是对使用列中的数据感兴趣 Age

    In [4]: df["Age"]
    Out[4]: 
    0    22
    1    35
    2    58
    Name: Age, dtype: int64
    

    当选择一列Pandas时 DataFrame ,结果是一只Pandas Series 。要选择列,请在方括号之间使用列标签 []

备注

如果您熟悉Python dictionaries 单个列的选择与基于键的字典值选择非常相似。

您可以创建一个 Series 也是从头开始:

In [5]: ages = pd.Series([22, 35, 58], name="Age")

In [6]: ages
Out[6]: 
0    22
1    35
2    58
Name: Age, dtype: int64

一只Pandas Series 没有列标签,因为它只是 DataFrame 。A系列确实有行标签。

使用DataFrame或Series执行某些操作#

  • 我想知道乘客的最大年龄

    我们可以在 DataFrame 通过选择 Age 列和应用 max()

    In [7]: df["Age"].max()
    Out[7]: 58
    

    或发送到 Series

    In [8]: ages.max()
    Out[8]: 58
    

如图所示 max() 方法,您可以 do 带着一种 DataFrameSeries 。Pandas提供了许多功能,每个功能都是 方法 你可以申请一个 DataFrameSeries 。因为方法是函数,所以不要忘了使用圆括号 ()

  • 我对我的数据表中的数字数据的一些基本统计数据感兴趣

    In [9]: df.describe()
    Out[9]: 
                 Age
    count   3.000000
    mean   38.333333
    std    18.230012
    min    22.000000
    25%    28.500000
    50%    35.000000
    75%    46.500000
    max    58.000000
    

    这个 describe() 方法提供了对 DataFrame 。作为 NameSex 列是文本数据,默认情况下, describe() 方法。

许多大Pandas的行动都会返回一个 DataFrame 或者是 Series 。这个 describe() 方法是一个返回Pandas的Pandas操作的示例 Series 或者一只Pandas DataFrame

To user guide

查看更多选项 describe 在《用户指南》一节中关于 aggregations with describe

备注

这只是一个起点。与电子表格软件类似,Pandas将数据表示为具有列和行的表格。除了表示,PANAS还支持您在电子表格软件中进行的数据操作和计算。继续阅读下一篇教程,开始吧!

REMEMBER

  • 导入包,也就是 import pandas as pd

  • 数据表以Pandas的形式存储 DataFrame

  • 中的每一列 DataFrame 是一种 Series

  • 您可以通过将方法应用于 DataFrameSeries

To user guide

更广泛的解释是 DataFrameSeries 中提供的 introduction to data structures