1.pandas介绍
    1.什么是pandas
        pand - panel data为面板数据
        as - analysis为分析
        综上所述为面板数据分析。面板数据为三维数据。但是目前由于pandas的发展,现在三维数据结构panel已经不经常使用了。
    2.为什么用pandas
        这里我们之前的博客中已经讲解了numpy和matplotlib库,一个用来计算,一个用来数据可视化,那么我们为什么还介绍pandas?原因在于,pandas比numpy显示的数据更全面,展现的是存在行索引和列索引的ndarray。对于matplotlib来讲,pandas可以利用极简的代码来可视化。注意这里pandas的底层也是numpy库和matplotlib库
    3.pandas的数据结构
        1.series:含有行索引的一维数组
        2.dataframe:series的容器,既有行索引,又有列索引
        3.panel:dataframe的容器
2.dataframe属性和方法
    属性:
        1.shape属性
        2.index属性
        3.columns属性
        4.values属性,返回的是一个二维数组ndarray,不带有索引
        5.T属性,返回行列转换的二维表(dataframe)
    方法:
        1.head(),查看头样本,如果不传入数值,那么返回前五行的样本
        2.tail(),查看尾样本,如果不传入数值,那么返回后五行的样本
3.dataframe索引设置
    1.dataframe.index = 
    2.dataframe.reset_index(),不常用
    3.dataframe.set_index(),不常用
4.series属性和方法
    1.index属性
    2.values属性
    3.head方法
    4.tail方法
5.索引操作
    1.直接索引
        df['行名称']['列名称']
        注意这里如果想直接索引的话,要先行后列的顺序进行。
    2.名称索引
        df.loc['行名称', '列名称']
        注意,这里的索引方法就是包含前,也包含后。
    3.数值索引
        df.iloc[行索引,列索引]
        注意,这里的索引方式就是包含前不包含后。
    4.复合索引
        df.ix[行索引,'列名称']
        注意:这个方法目前已经不建议使用了。
6.赋值和排序
    1.赋值:索引 ——》赋值
        这里需要注意的是,我们只能通过名称索引和数值索引才能进行赋值,直接索引是不能赋值的。总的来讲就是赋值只能通过loc或者iloc进行。
    2.排序:
        1.按照value索引
            sort_values(by=, ascending=)
                by:传入列索引或者传入一个由列索引组成的列表,按照顺序进行排序。
                ascending:传入bool值,指定从大到小或者从小到大。
        2.按照index索引
            sort_index()

dataframe属性

代码:

import pandas as pd
import numpy as npnp.random.seed(22)
data = np.random.normal(0, 1, size=(10, 5))
data_df = pd.DataFrame(data, columns=['red', 'yellow', 'purple', 'green', 'black'], index=['样本{}'.format(i) for i in range(1, 11)])
print(data_df.head())
print('shape属性:\n', data_df.shape)
print('columns属性:\n', data_df.columns)
print('index属性:\n', data_df.index)
print('values属性:\n', data_df.values)

输出:

          red    yellow    purple     green     black
样本1 -0.091950 -1.463351  1.081792 -0.239325 -0.491129
样本2 -1.002272  0.918822 -1.103632  0.626493 -0.561514
样本3  0.028855 -0.230767  0.587752  0.752318 -1.058503
样本4  1.055972  0.747750  1.064677  1.520130 -1.488603
样本5  1.859990 -1.598613 -0.646074  0.337325  1.046729
shape属性:(10, 5)
columns属性:Index(['red', 'yellow', 'purple', 'green', 'black'], dtype='object')
index属性:Index(['样本1', '样本2', '样本3', '样本4', '样本5', '样本6', '样本7', '样本8', '样本9', '样本10'], dtype='object')
values属性:[[-0.09194992 -1.46335065  1.08179168 -0.23932517 -0.49112914][-1.00227201  0.9188215  -1.1036321   0.62649346 -0.56151378][ 0.02885512 -0.23076719  0.58775221  0.75231758 -1.05850255][ 1.05597241  0.74775027  1.06467659  1.52012959 -1.48860294][ 1.85998989 -1.59861303 -0.64607361  0.337325    1.04672873][ 0.62914334  0.36305909  0.5557497  -1.08854953  0.02369477][ 2.49917664 -2.49003039 -0.23486239 -0.09756346 -0.88652934][-0.13671324  0.10197893 -0.25092954 -0.0788123  -1.08516417][ 0.59492845 -0.63890807 -1.10783686  2.10614576 -0.56738777][-0.47994979 -1.92322986  0.39958854 -1.04818387 -0.6938787 ]]

dataframe方法

代码:

import pandas as pd
import numpy as npnp.random.seed(22)
data = np.random.normal(0, 1, size=(10, 5))
data_df = pd.DataFrame(data, columns=['red', 'yellow', 'purple', 'green', 'black'], index=['样本{}'.format(i) for i in range(1, 11)])# head()方法
# data_df.head(3)
# tail()方法
data_df.tail()

输出:

           red    yellow    purple     green     black
样本6   0.629143  0.363059  0.555750 -1.088550  0.023695
样本7   2.499177 -2.490030 -0.234862 -0.097563 -0.886529
样本8  -0.136713  0.101979 -0.250930 -0.078812 -1.085164
样本9   0.594928 -0.638908 -1.107837  2.106146 -0.567388
样本10 -0.479950 -1.923230  0.399589 -1.048184 -0.693879

dataframe索引设置

代码:

import pandas as pd
import numpy as npnp.random.seed(22)
data = np.random.normal(0, 1, size=(10, 5))
data_df = pd.DataFrame(data, columns=['red', 'yellow', 'purple', 'green', 'black'], index=['样本{}'.format(i) for i in range(1, 11)])# 方式一:利用dataframe的index属性和columns属性,最常用的方法
data_df.index = ['样本{}__'.format(i) for i in range(1, 11)]
print(data_df)# 方式二:重新设置索引reset_index(),这种方法不常用。# 方式三:设置索引set_index(),这种方法也不常用。# 不常用的方法,就不讲解了。

输出:

             red    yellow    purple     green     black
样本1__  -0.091950 -1.463351  1.081792 -0.239325 -0.491129
样本2__  -1.002272  0.918822 -1.103632  0.626493 -0.561514
样本3__   0.028855 -0.230767  0.587752  0.752318 -1.058503
样本4__   1.055972  0.747750  1.064677  1.520130 -1.488603
样本5__   1.859990 -1.598613 -0.646074  0.337325  1.046729
样本6__   0.629143  0.363059  0.555750 -1.088550  0.023695
样本7__   2.499177 -2.490030 -0.234862 -0.097563 -0.886529
样本8__  -0.136713  0.101979 -0.250930 -0.078812 -1.085164
样本9__   0.594928 -0.638908 -1.107837  2.106146 -0.567388
样本10__ -0.479950 -1.923230  0.399589 -1.048184 -0.693879

Series的属性和方法

代码:

import pandas as pd
import numpy as npnp.random.seed(22)
data = np.random.normal(0, 1, size=(10, 5))
data_df = pd.DataFrame(data, columns=['red', 'yellow', 'purple', 'green', 'black'], index=['样本{}'.format(i) for i in range(1, 11)])sr = data_df.iloc[0, :]print(sr)
print(sr.index)
print(sr.values)
print(sr.head())
print(sr.tail())

输出:

red      -0.091950
yellow   -1.463351
purple    1.081792
green    -0.239325
black    -0.491129
Name: 样本1, dtype: float64
Index(['red', 'yellow', 'purple', 'green', 'black'], dtype='object')
[-0.09194992 -1.46335065  1.08179168 -0.23932517 -0.49112914]
red      -0.091950
yellow   -1.463351
purple    1.081792
green    -0.239325
black    -0.491129
Name: 样本1, dtype: float64
red      -0.091950
yellow   -1.463351
purple    1.081792
green    -0.239325
black    -0.491129
Name: 样本1, dtype: float64

索引操作

代码:

import pandas as pd
import numpy as npnp.random.seed(22)
data = np.random.normal(0, 1, size=(10, 4))
data_df = pd.DataFrame(data, index=['样本{}'.format(i) for i in range(1, 11)], columns=['red', 'yellow', 'purple', 'green'])# 1.直接索引
print(data_df['red'][0])# 2.名称索引
print(data_df.loc['样本1': '样本5', 'red':'green'])# 3.数值索引
print(data_df.iloc[0: 5, 0: 3])# 4.混合索引
# print(data_df.ix[0: 5, 'red':'green'])
# 在我使用的pandas的版本中ix方法已经不能使用了

输出:

-0.0919499198651913red    yellow    purple     green
样本1 -0.091950 -1.463351  1.081792 -0.239325
样本2 -0.491129 -1.002272  0.918822 -1.103632
样本3  0.626493 -0.561514  0.028855 -0.230767
样本4  0.587752  0.752318 -1.058503  1.055972
样本5  0.747750  1.064677  1.520130 -1.488603red    yellow    purple
样本1 -0.091950 -1.463351  1.081792
样本2 -0.491129 -1.002272  0.918822
样本3  0.626493 -0.561514  0.028855
样本4  0.587752  0.752318 -1.058503
样本5  0.747750  1.064677  1.520130

赋值与排序

代码:

import pandas as pd
import numpy as npnp.random.seed(22)
data = np.random.normal(0, 1, size=(10, 4))
df = pd.DataFrame(data, columns=['red', 'yellow', 'balck', 'green'])# 赋值操作
df.loc['4', :] = 100# 元素排序排序操作
df1 = df.sort_values(by=['red', 'yellow'], ascending=[False, True])  # red从大到小排序, yellow从大到小
print(df1)# 索引排序操作
# df2 = df.sort_index()  # 索引从小大到大排序
# help(df1.sort_index)df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])print(df.sort_index())

输出:

        red      yellow       balck       green
4  100.000000  100.000000  100.000000  100.000000
5    1.859990   -1.598613   -0.646074    0.337325
6    1.046729    0.629143    0.363059    0.555750
4    0.747750    1.064677    1.520130   -1.488603
2    0.626493   -0.561514    0.028855   -0.230767
3    0.587752    0.752318   -1.058503    1.055972
9    0.101979   -0.250930   -0.078812   -1.085164
0   -0.091950   -1.463351    1.081792   -0.239325
8   -0.234862   -0.097563   -0.886529   -0.136713
1   -0.491129   -1.002272    0.918822   -1.103632
7   -1.088550    0.023695    2.499177   -2.490030A
1    4
29   2
100  1
150  5
234  3

学习地址:

黑马程序员Python教程,4天快速入门Python数据挖掘,系统精讲+实战案例_哔哩哔哩_bilibili

数据处理库Pandas(简单操作)相关推荐

  1. python使用教程pandas-Python 数据处理库 pandas 入门教程基本操作

    pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库.本文是对它的一个入门教程. pandas提供了快速,灵活和富有表现力的数据结 ...

  2. Python数据处理库pandas中的DataFrame数据结构简介

    pandas 中有两大 数据结构 Series和 DataFrame. 本文主要介绍DataFrame的用法.DataFrame可以处理 表格数据. Series介绍在 Python数据处理库pand ...

  3. python做数据处理软件_程序员用于机器学习编程的Python 数据处理库 pandas 入门教程...

    入门介绍 pandas适合于许多不同类型的数据,包括: · 具有异构类型列的表格数据,例如SQL表格或Excel数据 · 有序和无序(不一定是固定频率)时间序列数据. · 具有行列标签的任意矩阵数据( ...

  4. python处理金融数据_Python 数据分析中金融数据的来源库和简单操作

    金融数据 数据分析离不开数据的获取,这里介绍几种常用的获取金融方面数据的方法. pandas-datareader pandas-datareader 库包含了全球最著名的几家公司所整理的金融数据,这 ...

  5. TortoiseSVN搭建本地版本库及简单操作使用

    TortoiseSVN是windows上一款著名的版本控制软件,对于我们管理自己的代码,特别是对一个团队来说,非常重要. 本文探讨的是如何搭建本地的版本库. (1)安装TortoiseSVN之后需要创 ...

  6. 2022 新版本c++安装opencv库的简单操作教程

    近期选修了计算机视觉 的课程,正好更新一下最新的cpp下的opencv库的教程. 废话少说干货降临: 1. 网站下载解压对应opencv库 这里我们推荐官网下载:https://opencv.org/ ...

  7. Python的pandas简单操作

    import numpy as np import pandas as pd titanic_survival=pd.read_csv('titanic_train.csv') new_titanic ...

  8. 【Python 爬虫】requests库的简单操作

    一.get请求 import requestsif __name__ == '__main__':response = requests.get(url='http://www.baidu.com/' ...

  9. 数据分析处理库Pandas——merge操作

    有一列列名相同值也相同 有两列列名相同值也相同 按其中一列合并 按两列合并 有一列列名相同值也相同,有一列列名相同值不相同,按两列合并 列名相同值不相同的行删掉 保留所有行 保留所有行并显示合并后该值 ...

最新文章

  1. “半价买2080Ti”,英伟达发布RTX 30系列显卡,性能翻倍价格更低,网友高呼“NVIDIA YES”...
  2. 【Android Gradle 插件】Extension 扩展类型 ( Module 引入插件类型 | application 插件 | library 插件 | Variants 变体列表 )
  3. vue打包后图片路径错误
  4. CodeForces - 1526D Kill Anton(模拟)
  5. 基本类型和字符串互相转换
  6. 使用JBoss Fuse和OpenShift进行Cloud Native Camel骑行
  7. 《深入浅出DPDK》读书笔记(一):基础部分知识点
  8. zedboard实现流水灯
  9. ICESat2学习笔记4 :Windows下使用HDFView查看ICESat-2 hdf5文件
  10. 多功能扫描仪设备 可识别护照
  11. 儋州“炰米”:美味的特制粮食
  12. java phaser,java线程之Phaser
  13. 计算机主机只有一块硬盘,电脑双硬盘只显示一个怎么办
  14. LINUX NVME SSD 大容量存储设计
  15. vue使用高德地图aMap实现轨迹动画查询显示
  16. OpenCV — 人脸识别
  17. msconfig打不开,运行找不到msconfig解决办法
  18. Datawhale零基础入门NLP day5/Task5基于深度学习的文本分类2
  19. ROS MarkerArray的几种常见用法
  20. 2021 谷歌浏览器等无法下载android studio

热门文章

  1. 旧电脑安装centos6.8,换发第二春。。。
  2. WinRAR自解压的脚本命令
  3. 豆豆趣事[2012年08月]
  4. linux配置IP后不通,linux 修改ip后不能访问大网的问题解决
  5. Python(六) 函数
  6. c#调用python 返回值为空
  7. HTMl中内容离页面底部距离,CSS 实现内容高度不够的时候底部(footer)自动贴底
  8. 前端实战优秀博客每日学习之-----深入Javascript系列(汤姆大叔的博客)------(一)
  9. 和CIO问答软件项目实施管理
  10. 二级静态页面的爬取-----电影天堂