一,pandas的结构

pandas的基本原则:数据的绑定,即数据和标签绑定;通常在数据分析中将一列数据看作一组特征,特征(pandas中的列索引)和对应的数据之间相互绑定。

1,pandas的组成单位:Series

Serie是带有标签的一维数组,可以保存任何数据类型。

1.1Seise的创建:

 import pandas as pds = pd.Series(data, index=index,index=index,name=name)
   data:可以是字典,列表、元组(集合set无序不能用来创建Series)还可以是ndaary对象或者标量值index:Series的索引,以序列的方式传值
import pandas as pd
a = [1, 2, 3, 4]
b = (1, 2, 3, 4)
c = {'a': 1, 'b': 2, 'c': 3}
d = {1, 2, 3, 4}
s1=pd.Series(a, name='list')
s2=pd.Series(b,index=('a', 'b', 'c', 'd'), name='tuple')
s3=pd.Series(c)
s4=pd.Series(c, index=['a', 'b', 'c'], name='dict')print('用列表创建,传入name:', '\n', s1,'用元组创建,传入index和name', '\n', s2,'用字典创建,不传入其他值', '\n', s3,'用字典创建,传入index和name', '\n', s4)

运行结果:

用列表创建,传入name: 0    1
1    2
2    3
3    4
Name: list, dtype: int64 用元组创建,传入index和name a    1
b    2
c    3
d    4
Name: tuple, dtype: int64 用字典创建,不传入其他值 a    1
b    2
c    3
dtype: int64 用字典创建,传入index和name a    1
b    2
c    3
Name: dict, dtype: int64

1.2、Series 可以用来切片,方法同python的序列

1.3、series的属性访问

1.3.1通过点访问和赋值

访问不存在的会报错

#3.1通过点访问
print('通过点访问属性:', s2.a)
通过点访问属性: 1
#3.1通过点赋值
s2.a = 'new_num'
print('通过点赋值:', s2.a)
通过点赋值: new_num

1.3.2通过索引访问和赋值

访问不存在的会报错

#3.2通过索引访问
b=[1,2,3,4]
s2 = pd.Series(b, index=('a', 'b', 'c', 'd'), name='tuple')
print('通过点访问属性:', s2['a'])
通过索引问属性: 1
#3.2通过索引赋值
b = [1,2,3,4]
s2 = pd.Series(b, index=('a', 'b', 'c', 'd'), name='tuple')
s2['a']='new_num'
print('通过点访问属性:', s2['a'])
通过索引赋值: new_num

1.3.3通过get()访问

访问不存在的会返回None或者设置的默认值

#3.2通过get()访问
b = [1,2,3,4]
s2 = pd.Series(b, index=('a', 'b', 'c', 'd'), name='tuple')
print('通过get()访问属性:', s2.get('a'))
print('通过get(访问不存在的属性,设置默认值10:', s2.get('f',dfault=10))
通过get()访问属性: 1
通过get(访问不存在的属性,设置默认值10: 10
#3.2通过索引赋值
c = {'a': 1, 'b': 2, 'c': 3}
s2 = pd.Series(b, index=('a', 'b', 'c', 'd'), name='tuple')
s2['a']='new_num'
print('通过点访问属性:', s2['a'])
通过索引赋值: new_num

1.4、series的运算及标签对齐特性

1.4.1运算

import pandas as pd
a = [1, 2, 3, 4]
b = (5, 6, 7, 8)
s0 = pd.Series(a, index=['a', 'b', 'c', 'd'])
s1 = pd.Series(b, index=['a', 'b', 'c', 'd'])
print(s0,s1)

s0,s1
s0+s1

a     6
b     8
c    10
d    12
dtype: int64

s0-s1

a   -4
b   -4
c   -4
d   -4
dtype: int64

s0*s1

a     5
b    12
c    21
d    32
dtype: int64

s0/s1

a    5.000000
b    3.000000
c    2.333333
d    2.000000
dtype: float64

1.4.2对齐特性

Series再进行运算是,会寻找对应的索引,对索引相同的元素进行运算,索引不同的返回NAN

import pandas as pd
a = [1, 2, 3, 4]
b = (5, 6, 7, 8)
s0 = pd.Series(a, index=['a', 'b', 'c', 'd'])
s1 = pd.Series(b, index=['b', 'c', 'd', 'e'])
print(s0)
print(s1)
print('s0+s1:',s1+s0)
a    1
b    2
c    3
d    4
dtype: int64
b    5
c    6
d    7
e    8
dtype: int64
s0+s1:
a     NaN
b     7.0
c     9.0
d    11.0
e     NaN
dtype: float64

2、DataFrame

DataFrame是带有标签的二维数据结构,(通常每列代表一个特征,每行代表一个样本)。
你可以把它想象成一个电子表格或SQL表,或者 Series 对象的字典。
DataFrame的一行或者一列都是一个Series

2.1 创建DataFrame:

pd.DataFrame(d, index=None, columns=None)

     data的类型:一维数组,列表,字典或 Series 的字典二维 numpy.ndarray结构化或记录 ndarraySeries另一个DataFrame

index(行标签)和columns(列标签)

pandas的使用(一)相关推荐

  1. Pandas 使用入门

    Pandas 简介 运行环境 jupyter notebook python 3.6 pandas '0.20.3' matplotlib '2.1.0' 学习目标: * 大致了解 pandas 库的 ...

  2. modin pandas 加速

    20211203 https://blog.csdn.net/BF02jgtRS00XKtCx/article/details/108988757 利用swifter加速apply Modin是一个P ...

  3. 利用pandas读写HDF5文件

    一.简介 HDF5(Hierarchical Data Formal)是用于存储大规模数值数据的较为理想的存储格式,文件后缀名为h5,存储读取速度非常快,且可在文件内部按照明确的层次存储数据,同一个H ...

  4. pandas dataframe 删除带空值的行 各种空值 (dropna()、isna()、isnull()、fillna())

    假设拿到一个10万行的数据后,通过isnull我们发现某列有几个空值,要把该列空值所在行删除怎么操作?用dropna()会删除所有有空值的行,请看下面实例. 区分 None,null,NULL,nan ...

  5. pandas以前笔记

    # -*- coding: utf-8 -*- """ Created on Sat Jul 21 20:06:20 2018@author: heimi "& ...

  6. pandas dataframe 字符映射为数字

    在机器学习中对于有序的类别型变量可以不采用onehot编码,直接使用有序数字代替即可,这个目的可以在pandas中使用map方法实现. import pandas as pd 创建数据框 raw_da ...

  7. pandas如何读取一个文件夹下的所有文件

    from os import walk import pandas as pd dataframe_list = [] #walk会返回3个参数,分别是路径,目录list,文件list,你可以按需修改 ...

  8. python pandas 如何找到NaN、缺失值或者某些元素的索引名称以及位置,np.where的使用

    我们在处理数据的时候,经常需要检查数据的质量,也需要知道出问题的数据在哪个位置.我找了很久,也尝试了很多办法,都没能找到一种非常直接的函数,本文所要介绍的是一种我认为比较方便的方法:np.where( ...

  9. pandas数据框,统计某列或者某行数据元素的个数

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/sinat_38893241/artic ...

  10. Pandas库常用函数和操作

    目录 1. DataFrame 处理缺失值  dropna() 2. 根据某维度计算重复的行   duplicated().value_counts() 3. 去重  drop_duplicates( ...

最新文章

  1. window 10 桌面显示计算机的操作
  2. CentOS软/硬RAID安装方法
  3. 时间源服务器|授时仪|GPS时钟同步系统
  4. html 编辑器 es6,小技巧:一行代码让浏览器瞬间变成临时编辑器
  5. 如何关闭OSX 10.11 SIP (System Integrity Protection)
  6. Java 蜡烛图_分支-15. 日K蜡烛图
  7. hdu5033 Building 单调队列
  8. Python的一些单行代码(摘抄)
  9. 商务网站建设与维护【5】
  10. html结构及部分属性——从0开始
  11. TM Forum的TAM中文架构图
  12. 三、E906移植----FPGA生成可用的比特流并实现串口发送
  13. linux下easyconnect启动不能连接外网
  14. Altera timing analyzer理解
  15. 王垠对 JS 的评价
  16. 在Windows 7下删除注册表项时,权限不足
  17. 【Python】udp网络程序-发送、接受数据
  18. 15个最好用的JavaScript代码压缩工具
  19. Plücker 矩阵相关资料1
  20. 计算机网络的定义中的三个关键词,计算机网络定义的三要素是什么?

热门文章

  1. 换服务器要重新百度站长验证站点吗6,百度站长工具教程一:如何使用百度站长平台验证网站 – 陆琳玲SEO博客...
  2. 【前端】html综合案例:圣诞节的那些事、小说排行榜案例、注册页面
  3. 使用DataX将mysql中做数据导出时 提示 java.sql.SQLException: Could not retrieve transation read-only status server
  4. 支付宝事件溯源:2005年“雅巴“交易再回首
  5. dbca -silent静默安装12c rac数据库
  6. 预测大盘最准确的指标_通达信预测大盘利器指标公式
  7. 如何选择拨号服务器!
  8. 编程实现键盘记录功能
  9. hightcharts-vue 蜡烛图 股票绘图 candlestick
  10. allowMultiQueries 设置为true不生效问题