pandas的使用(一)
一,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的使用(一)相关推荐
- Pandas 使用入门
Pandas 简介 运行环境 jupyter notebook python 3.6 pandas '0.20.3' matplotlib '2.1.0' 学习目标: * 大致了解 pandas 库的 ...
- modin pandas 加速
20211203 https://blog.csdn.net/BF02jgtRS00XKtCx/article/details/108988757 利用swifter加速apply Modin是一个P ...
- 利用pandas读写HDF5文件
一.简介 HDF5(Hierarchical Data Formal)是用于存储大规模数值数据的较为理想的存储格式,文件后缀名为h5,存储读取速度非常快,且可在文件内部按照明确的层次存储数据,同一个H ...
- pandas dataframe 删除带空值的行 各种空值 (dropna()、isna()、isnull()、fillna())
假设拿到一个10万行的数据后,通过isnull我们发现某列有几个空值,要把该列空值所在行删除怎么操作?用dropna()会删除所有有空值的行,请看下面实例. 区分 None,null,NULL,nan ...
- pandas以前笔记
# -*- coding: utf-8 -*- """ Created on Sat Jul 21 20:06:20 2018@author: heimi "& ...
- pandas dataframe 字符映射为数字
在机器学习中对于有序的类别型变量可以不采用onehot编码,直接使用有序数字代替即可,这个目的可以在pandas中使用map方法实现. import pandas as pd 创建数据框 raw_da ...
- pandas如何读取一个文件夹下的所有文件
from os import walk import pandas as pd dataframe_list = [] #walk会返回3个参数,分别是路径,目录list,文件list,你可以按需修改 ...
- python pandas 如何找到NaN、缺失值或者某些元素的索引名称以及位置,np.where的使用
我们在处理数据的时候,经常需要检查数据的质量,也需要知道出问题的数据在哪个位置.我找了很久,也尝试了很多办法,都没能找到一种非常直接的函数,本文所要介绍的是一种我认为比较方便的方法:np.where( ...
- pandas数据框,统计某列或者某行数据元素的个数
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/sinat_38893241/artic ...
- Pandas库常用函数和操作
目录 1. DataFrame 处理缺失值 dropna() 2. 根据某维度计算重复的行 duplicated().value_counts() 3. 去重 drop_duplicates( ...
最新文章
- window 10 桌面显示计算机的操作
- CentOS软/硬RAID安装方法
- 时间源服务器|授时仪|GPS时钟同步系统
- html 编辑器 es6,小技巧:一行代码让浏览器瞬间变成临时编辑器
- 如何关闭OSX 10.11 SIP (System Integrity Protection)
- Java 蜡烛图_分支-15. 日K蜡烛图
- hdu5033 Building 单调队列
- Python的一些单行代码(摘抄)
- 商务网站建设与维护【5】
- html结构及部分属性——从0开始
- TM Forum的TAM中文架构图
- 三、E906移植----FPGA生成可用的比特流并实现串口发送
- linux下easyconnect启动不能连接外网
- Altera timing analyzer理解
- 王垠对 JS 的评价
- 在Windows 7下删除注册表项时,权限不足
- 【Python】udp网络程序-发送、接受数据
- 15个最好用的JavaScript代码压缩工具
- Plücker 矩阵相关资料1
- 计算机网络的定义中的三个关键词,计算机网络定义的三要素是什么?
热门文章
- 换服务器要重新百度站长验证站点吗6,百度站长工具教程一:如何使用百度站长平台验证网站 – 陆琳玲SEO博客...
- 【前端】html综合案例:圣诞节的那些事、小说排行榜案例、注册页面
- 使用DataX将mysql中做数据导出时 提示 java.sql.SQLException: Could not retrieve transation read-only status server
- 支付宝事件溯源:2005年“雅巴“交易再回首
- dbca -silent静默安装12c rac数据库
- 预测大盘最准确的指标_通达信预测大盘利器指标公式
- 如何选择拨号服务器!
- 编程实现键盘记录功能
- hightcharts-vue 蜡烛图 股票绘图 candlestick
- allowMultiQueries 设置为true不生效问题