【Python模块学习】pandas模块简介

pandas模块学习

一、背景概述

Pandas (Python Data Analysis Library) 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

numpy更加适用于科学计算领域;而pandas最初据说是设计用于金融领域,因此pandas可能更加适用于各类实际应用场景的处理。另一方面,numpy适用于处理“干净”的数据,及规范、无缺失的数据,而pandas更加擅长数据清洗(data munging),这为后一步数据处理扫清障碍。

Excel 可以处理少量的数据,但是当我们用爬虫收集到很多的数据的时候,此时就需要pandas模块进行处理

Pandas中的三种Python数据结构

  • Series:一堆数组。与Python标准的数据结构List列表很像
  • DataFrame:二维的表格型数据结构。可以理解为Serise容器
  • Panel:三维数组,可以理解为DataFrame容器

Pandas支持的数据类型

  • data1=pandas.read_html(‘1.html’)
  • data2=pandas.read_json(‘2.json’)
  • data3=pandas.read_csv(‘3.csv’)

二、Series

一维数据结构,键值对

用法:

pandas.Series(data,index,dtype,copy)

  • data 数据采取各种形式
  • index 索引值必须是唯一的和散列的,与数据长度相同。默认np.arange(n),如果没有索引被传递
  • dtype 用户数据类型。如果没有,将推断数据类型
  • copy 复制数据,默认为false
import pandas

if  __name__ == '__main__':
    data=['apple','male','chiken0']
    data1=pandas.Series(data)
    data2=pandas.DataFrame()
    #data3=pandas.Panel()
    print(data1)

【Python模块学习】pandas模块简介_第1张图片

import pandas

if  __name__ == '__main__':
    data=pandas.Series()
    print(type(data))
    #print(data)

【Python模块学习】pandas模块简介_第2张图片

import pandas

if  __name__ == '__main__':
    data={'name':'小王','age':'18'}
    print(pandas.Series(data))
    print(pandas.Series(data)['name'])

【Python模块学习】pandas模块简介_第3张图片

三、DataFrame

二维数据结构,数据以行和列的表格的形式排列,可以结合xlwt模块处理excel表格 (想办法怎么把字典转换为列表格式)

用法:

pandas.DataFrame(data,index,columns,dtype,copy)

  • data 数据采取各种形式
  • index 对于行标签,要用于结果帧的索引是可选缺醒值 np.arange(n),如果没有索引被传递
  • columns 对于列标签,可选的默认语法是 np.arange(n) 这只是在没有索引传递情况下才是这样
  • dtype 每列的数据类型
  • copy 复制数据,默认为false

写入 .xls 文件

写入 xls文件的两种方式

方法1:
write_xls(sheetname,data1,path) # data1 是列表

方法2:
df.pandas.DataFrame(data1) # data 是列表
df.to_excel(‘test.xls’)

import pandas
import xlwt

def write_xls(sheet_name,value,path):
    index=len(value)
    xls=xlwt.Workbook()                         #创建xls文件
    table0 = xls.add_sheet(sheet_name)          #创建一个表格
    for i in range(0,index):                    #写入数据
        for j in range(0,len(value[i])):
            table0.write(i,j,value[i][j])
    xls.save(path)

if __name__ == '__main__':
    data1=[['id','001'],['name','dog'],['age',5]]
    #sheetname='test_sheet'
    #path='test.xls'
    df=pandas.DataFrame(data1)
    df.to_excel('test.xls')
    #write_xls(sheetname,data1,path)

DataFrame 数据的读取

从字典创建一个序列必须有 index=

import pandas

if __name__ == '__main__':
    data={'id':'001','name':'dog','age':'3',
    'id2':'002','name2':'cat','age2':'2'}       #创建一个字典                                  
    df=pandas.DataFrame(data,index=[111])       #将上面data数据,标记为 111行
    print(df['name'])
    print('-'*20)
    print(df.iloc[0])       #打印第一行的数据
    print('-'*20)
    print(df.loc[111])      #打印出 行名是111 的那行数据

【Python模块学习】pandas模块简介_第4张图片

参考

https://everyang.net/wp-content/uploads/2018/04/Pandas01-everyang.pdf

你可能感兴趣的:(python基础,python,数据分析,pandas)