Pandas系列学习(一):Pandas入门

介绍

Pandas是一套用于Python的快速的,高效的数据分析工具。近年来它的受欢迎程度飙升,对于数据清洗处理与机器学习所必不可少的库。

正如Numpy提供了基础的数据类型,Pandas提供了数组的处理操作,并定义了待处理数据的基本架构,以及赋予了一系列处理基于该数据结构的数据处理方法,例如:

  • 读取数据
  • 调整索引
  • 使用日期和时间序列
  • 排序,分组,重新排序和一般数据调整
  • 数据缺失值清洗填充处理等
  • 数据提取、 筛选及整合(合并)

跟其他统计、绘图和机器学习模型构建等提供了处理数据的方法,例如scikit-learn、scipy、statsmodels和matplotlib等。为处理数据,必须导入的数据计算、处理的库为:

import numpy as np
import pandas as pd

Pandas定义了Series和DataFrame两种重复数据类型,Series可以看作是column,例如单变量型的数据,DataFrame可以看作是多个Series的聚合而成的。

1.Series()

Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)
  • 从列表创建Series
df = pd.Series([2,5,7,98,56])
print(df)

-----------------------------
0     2
1     5
2     7
3    98
4    56
dtype: int64

使用print()函数打印结果输出时,会输出两列值。第一列称为索引。它通常从 0 开始并一直运行到 N-1,其中 N 是Series 的大小。我们可以通过 df.shape[0] 来查看 Series 的大小。第二列是我们输入的实际数据。

  • 从dict创建Series

也可以使用 Python 字典来初始化 Series。在这种情况下,Series 从 dict 的键中获取其索引,如下所示:

months = {'Jan':350,
          'Feb':560,
          'Mar':660,
          'Apr':800,
          'May':1010,
          'Jun':1320}
df1 = pd.Series(months)
print(df1)

------------------------
Jan     350
Feb     560
Mar     660
Apr     800
May    1010
Jun    1320
dtype: int64
  • 从标量初始化Series

你还可以使用标量来初始化 Series。在这种情况下,Series 的所有元素都初始化为相同的值。与标量一起使用进行初始化时,可以指定索引数组。在这种情况下,Series 的大小与索引数组的大小相同。

在下面的实例中,我们使用 range() 函数来指定索引(从而指定 Series 的大小)。
 

df1 = pd.Series(5,index=range(0,6))
print(df1)

-----------------------------------
0    5
1    5
2    5
3    5
4    5
5    5
dtype: int64
  • 创建Series的其他方法

2.DataFrame()

pandas 库将 DataFrame 定义为具有行和列的二维数据,大小可变的数据结构。简而言之,你可以将 DataFrame 视为数据表,即一维格式化的二维数据,它具有以下特征:

    数据包含有多个行和列;
    每行数据是一个数据样本;
    每列数据是同一属性的数据值;
    每列中的数据通常是相同类型的数据 —— 例如,数字,字符串,日期;
    通常,与 Excel 数据集不同的是,DataFrame 避免丢失值,并且行或列之间没有间隙和空值。

 

DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)

Dataframe可以是手动创建,也可以是读取文件数据来创建(如csv数据)

pd.DataFrame(np.random.randint(1,20,size=(5,4)),
                  index=['A','B','C','D','E'],
                  columns=['a','b','c','d'])

 

你可能感兴趣的:(Python)