Pandas 的使用

Pandas是基于 Numpy 的一个开源的Python 库,它被广泛用于快速分析数据,以及数据清洗和准备等工作。它的名字来源是“Panel data”(面板数据, 一个计量经济学的名词) 两个单词拼成的。简单的说,可以把Pandas 看做是Python 版的 Excel。

 1、安装 Pandas

如果您已经安装了 Anaconda, 你可以很方便的咋终端或者命令提示符里输入安装命令:

conda install pandas

如果你没有安装Anaconda,你也可以用Python 自带的包管理器 pip 来安装:

pip  install pandas

2、 Pandas 数据结构

Series 是一种一维数组, 和 Numpy 里的数组很相似。事实上, Series 基本上就是基于 Numpy 的数组对象来的。 和 Numpy 的数组不同,Series 能为数据自定义标签, 也就是索引(index),然后通过索引来访问数组中数据。

import numpy as np
import pandas as pd

3、创建一个Series 的基本语法如下:

my_series = pd.Series(data, index)

  上面的data 参数可以是任意数据对象,比如字典、列表甚至是 Numpy 数组,而 index 参数则是对 data 的索引值,类似字典中的 key 。

  下面例子里,创建一个 Series 对象,并用字符串对数字列表进行索引:

counties = ['USA', 'Nigeria', 'France', 'Ghana']
my_data = [100, 200, 300, 400]

pd.Series(my_data, counties)

注意:请记住, index 参数是可以省略的, 你可以选择不输入这个参数。如果不带index 参数, Pandas 会自动用默认的 index 进行索引,类似数组, 索引值是[0, ...,len(data) - 1] 。

4、DataFrames

Pandas 的 DataFrames (数据表)是一种 2 维数据结构,数以表格的形式存储, 分成若干行和列。通过 DataFrame, 你能很方便的处理数据。常见的操作比如选取、替换行或列的数据,还能重组数据表、修改索引,多重筛选等。

构建一个DataFrame 的语法如下:

举个例子,我们可以创建一个 5 行 4 列的Dataframe,并填上随机数据:

看,上面表中的每一列基本上就是一个Series,他们都用了同一个 index 。因此,我们可以把DataFrame 理解成一组采用同样索引的Series的集合。

下面的例子里,我们将用许多的 Series 来构建一个 DataFrame:

df = {'Name' : pd.Series(['jon', 'Aaron', 'Todd'], index = ['a', 'b', 'c']), 'Age':pd.Series(['39', '35', '30', '25'], index = ['a', 'b', 'c', 'd']), 
 'Nationality':pd.Series(['US', 'China', 'USA'], ['a', 'b', 'c', 'd'])}
pd.DataFrame(df)

5、读取 CSV 文件

简单的说,只要 pd.read_csv() 就能将 CSV 文件里的数据转换成 DataFrame 对象:

df = pd.read_csv('examle.csv')
df

6、写入 CSV 文件

将 DataFrame 对象存入 .csv 文件的方法师 .to_csv(), 例如, 我们先创建一个 DataFrame 对象:

data = {
            'A' :['Dog1', 'Dog2', 'Dog3', 'Dog4', 'Dog5', 'Dog6'],
            'B' :['Dog1', 'Dog2', 'Dog3', 'Dog4', 'Dog5', 'Dog6'],
            'C' :['Dog1', 'Dog2', 'Dog3', 'Dog4', 'Dog5', 'Dog6'],
            'D' :['Dog1', 'Dog2', 'Dog3', 'Dog4', 'Dog5', 'Dog6']        
}

df = pd.DataFrame(data)
print(df)

      A  B  C   D
0  Dog1  q  1  11
1  Dog2  w  2  22
2  Dog3  e  3  33
3  Dog4  r  4  44
4  Dog5  t  5  55
5  Dog6  y  6  66
 

然后将这个DataFrame 对象存成 ‘New_dataframe’文件, Pandas 会自动在磁盘上创建这个文件。

注意,出入 index = false 参数是因为不希望 Pandas 把索引列的 0 ~ 5 也存到文件中。

为了确保数据已经保存好了, 你可以试试用 pd.read_csv('New_dataframe'), 把这个文件的内容读取出来看看。      

7、读取 Excel 表格文件

  Execl 文件是一个不错的数据来源。使用 pd.read_excel() 方法,我们能将 Execl 表格中的数据导入 Pandas 中,请注意,Pandas 只能导入表格文件中的数据,其他对象,例如宏、图形和公式等都会直接导入。如果文件中存在此类对象,可能会导致pd.read_excel() 方法执行失败。

举个例子,假设我们有一个 Excel 表格‘excel_output.xlsx’ ,然后读取它的数据:

pd.read_excel('excel_output.xlsx', sheet_name = 'Sheet1')

请注意,每个 Excel 表格文件都含有一个或多个工作表, 传入 sheet_name = 'Sheet1' 这样的参数, 就表示只读取‘excel_output.xlsx’ 中的Sheet1 工作表的内容。

8、写入 Excel 表格数据

  跟写CSV文件类似, 我们可以将一个 DataFrame 对象存成 .xlsx 文件,语法是 .to_excel():

data = {
          ‘A’:['dog1', 'dog2', 'dog3', 'dog4', 'dog5', 'dog6'] ,
          ‘A’:['A', 'B', 'C', 'D', 'E', 'F'] ,
          ‘A’:['x', 'y', 'z', 'h', 'i', 'j'] ,
          ‘A’:['1', '2', '3', '4', '5', '6'] 
    
}    
df = pd.DataFrame(data)
df


        A    B    C    D
0    dog1    A    x    1
1    dog2    B    y    2
2    dog3    C    z    3
3    dog4    D    h    4
4    dog5    E    i    5
5    dog6    F    j    6


# 将 DataFrame 对象存成 .xlsx 文件,用 .to_excel()方法:

df.to_excel('excel_output.xlsx', sheet_name = 'Sheet1')

9、读取 HTML 文件中的数据

  为了读取 HTML 文件,你需要安装 htmllib5,lxml 以及 BeautifulSoup4库,在终端或命令行提示符运行以下命令来来安装:

conda install lxml
conda install html5lib
conda install BeautifulSoup

举个栗子, 我们用让 Pandas 读取这个页面的数据:http://en.wikipedia.org/wiki/Udacity.由于一个页面上含有多个不同的表格,我们需要通过下标 [0, ...,len(tables) - 1]访问数组中的不同元素。

  

猜你喜欢

转载自www.cnblogs.com/jcjc/p/10804904.html