码迷,mamicode.com
首页 > 其他好文 > 详细

Pandas 的使用

时间:2019-05-03 14:45:52      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:表格   port   导入表   基本   print   数据转换   不同   exec   磁盘   

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]访问数组中的不同元素。

 

 

 

 

 

 

  

 

Pandas 的使用

标签:表格   port   导入表   基本   print   数据转换   不同   exec   磁盘   

原文地址:https://www.cnblogs.com/jcjc/p/10804904.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!