Python数据分析pandas模块用法实例详解

 更新时间:2019年11月20日 11:51:47   作者:闲鱼!!!  
这篇文章主要介绍了Python数据分析pandas模块用法,结合实例形式分析了pandas模块对象创建、数值运算等相关操作技巧与注意事项,需要的朋友可以参考下

本文实例讲述了Python数据分析pandas模块用法。分享给大家供大家参考,具体如下:

pandas

pandas10分钟入门,可以查看官网:10 minutes to pandas

也可以查看更复杂的cookbook

  • pandas是非常强大的数据分析包,pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包。就好比 Numpy的核心是 ndarray,pandas 围绕着 Series 和 DataFrame 两个核心数据结构展开 。Series和DataFrame 分别对应于一维的序列和二维表结构。

创建对象

常规导入方式:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

Series

  • Series 可以看做一个定长的有序字典,它是能够保存任何数据类型(整数,字符串,浮点数,Python对象等)的一维标记数组。
  • Series对象包含两个主要的属性:index 和 values。
  • 数据可以是Python字典、 ndarray、scalar value标量值(如5)等
  • 创建时有没有index都会设置默认下标,但是索引用的是数组时会默认使用创建时的索引
  • 创建时还可以指定name名字属性,之后可以修改 rename
ser1 = pd.Series(range(10,15),index=list('ABCDE'))
print(ser1)
# 下标和索引等同
print(ser1['A'])
print(ser1[0])

输出:

A    10
B    11
C    12
D    13
E    14
dtype: int64
10
10

取连续多个数据时,下标取值不包含结束位置,索引切片包括结束位置

print(ser1['A':'D'])
print(ser1[0:3])

输出:

A    10
B    11
C    12
D    13
dtype: int64
A    10
B    11
C    12
dtype: int64

取多个数据、条件筛选(布尔索引)

# 注意里面是一个列表
print(ser1[[0,1,3]])
# 布尔索引
print(ser1[(ser1>12)&(ser1<15)])

DataFrame

DataFrame是二维标记数据结构。 您可以将其视为电子表格或SQL表,或Series对象。 它通常是最常用的pandans对象。 像Series一样,DataFrame接受许多不同种类的输入:

  • Dict of 1D ndarrays, lists, dicts, or Series
  • 2-D numpy.ndarray
  • Structured or record ndarray
  • A Series
  • Another DataFrame
df1 = pd.DataFrame(np.random.randint(10,50,(3,4)), - index=list('ABC'),columns=list('abcd'))
  • index是行索引,colums是列索引
  • 用字典创建时,键名就是列索引,而且键值可以为列表,会自动补齐

取单行或单列数据,取单个数据

# 列取值,取出的是一个series对象
print(df1['a'])
print(df1['a'].values)
# 取出一行数据的某一行数据,也就是单个数据
print(df1['a']['B']) # 这两个一样
print(df1['a'][1])

取不连续多列,取连续多列(默认不支持连续,需要高级索引)

# 取不连续多列
print(df1[['a','c']])

行索引,可以直接切片,但是默认不能不连续多行取值,下标同理

print('行索引取值##############')
print(df1['A':'A'])
# 取连续多行就是df1['A':'C']

高级索引(花式索引)

一般情况用于DataFrame,这里直接略过Series

loc标签索引

df1 = pd.DataFrame(np.random.randint(10,50,(5,4)), index=list('ABCDE'),columns=list('abcd'))
# 取单行,类型是series
print(df1.loc['A'])
print(type(df1.loc['A']))
# 取连续多行,类型是DataFrame
print(df1.loc['A':'C'])
# 如果没有index索引就用下标,可以取连续多行连续多列
print(df1.loc['A':'D','a':'c'])
# 取不连续多行不连续多列
print(df1.loc[['A','C'],['a','c']])

iloc 位置索引

iloc是下标和lo用法一样,但是下标索引左闭右开,loc是包括最后一位

# DataFrame
print(df1.iloc[0:2, 0]) # 注意和df1.loc['A':'C', 'a']的区别
print(df1.loc['A':'C', 'a'])

ix 标签与位置混合索引

博主使用的pandas 0.24.2版本已经弃用.ix了(warning但还能使用),所以也就不写了

  • ix是以上二者的综合,既可以使用索引编号,又可以使用自定义索引,要视情况不同来使用,
  • 如果索引既有数字又有英文,那么这种方式是不建议使用的,容易导致定位的混乱。

增加数据

1 2
增加一行数据 1.df1.loc[‘D'] = [1,2,3,4,5] 2.df1.loc[‘D'] = [np.random.randint(10,20)]
增加一列数据 df1.

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

  • python基础之入门必看操作

    python基础之入门必看操作

    下面小编就为大家带来一篇python基础之入门必看操作。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Python获取用户输入的方法详解

    Python获取用户输入的方法详解

    在Python中,获取用户输入是一个基础且常见的操作,它允许程序与用户进行交互,Python通过内置的input()函数来实现这一功能,以下将详细探讨如何在Python中获取用户输入,并涵盖多个方面,需要的朋友可以参考下
    2024-09-09
  • 解决Pytorch训练过程中loss不下降的问题

    解决Pytorch训练过程中loss不下降的问题

    今天小编就为大家分享一篇解决Pytorch训练过程中loss不下降的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 基于django micro搭建网站实现加水印功能

    基于django micro搭建网站实现加水印功能

    这篇文章主要介绍了基于django micro搭建网站实现加水印功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Python中用startswith()函数判断字符串开头的教程

    Python中用startswith()函数判断字符串开头的教程

    这篇文章主要介绍了Python中用startswith()函数判断字符串开头的教程,startswith()函数的使用是Python学习中的基础知识,本文列举了一些不同情况下的使用结果,需要的朋友可以参考下
    2015-04-04
  • Python中的变量和数据类型详情

    Python中的变量和数据类型详情

    这篇文章主要介绍了Python中的变量和数据类型详情,变量不需要声明即可使用,向变量赋值即定义变量,python中的数据类型包括数值类型、列表、元组等内容,下面文章的详细介绍,需要的小伙伴可以参考一下
    2022-03-03
  • python神经网络学习利用PyTorch进行回归运算

    python神经网络学习利用PyTorch进行回归运算

    这篇文章主要为大家介绍了python神经网络学习利用PyTorch进行回归运算的实现代码,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Django实现前台上传并显示图片功能

    Django实现前台上传并显示图片功能

    这篇文章主要介绍了Django实现前台上传并显示图片功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 关于Python自动化操作Excel

    关于Python自动化操作Excel

    这篇文章主要介绍了关于Python自动化操作Excel, Python 是一种功能强大的编程语言,可以用于许多任务,包括处理 Excel 文件,需要的朋友可以参考下
    2023-04-04
  • python selenium 无界面浏览器的实现

    python selenium 无界面浏览器的实现

    有时我们不想让浏览器窗口跳出来,而是想在后台进行操作,这就需要用到无界面浏览器,本文主要介绍了python selenium 无界面浏览器的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10

最新评论