python数据分析————pandas库的数据结构Series和DataFrame的基本使用

pandas

专 为 解 决 数 据 分 析 任 务 的 P y t h o n 库 \color{red}{专为解决数据分析任务的Python库}专为解决数据分析任务的P y t h o n 库提供高性能数据类型和分析工具,基于NumPy实现。

NumPy基础数据类型关注数据的结构表达维度:数据间关系Pandas扩展数据类型关注数据的应用表达数据与索引间关系

  • 导入库
import pandas as pd

pandas库有两个数据类型:Series,DataFrame

Series

Series类型是由一组数据及与之相关的数据索引组成,有两个重要的属性

  • .values属性:数据,np.array类型
  • .index属性:索引,pd.indexes类型

Series创建


s = pd.Series(25,index=['a','b','c'])

y = pd.Series({'a':25,'b':25,'c':25})
yy = pd.Series({'a':9,'b':8,'c':7},index=['c','a','b','d'])

n = pd.Series(np.arange(5))
n1 = pd.Series(np.arange(5),index=np.arange(9,4,-1))

sindex = b.index
svalue = b.values

Series的切片

Series的切片会保存他的索引值


print('c' in  b)
print(9 in b)

a = pd.Series([1,2,3],['c','b','e'])
print(a + b)

b['a']=15
b.name='Series'

Series是一个一维带”标签”的数组

DataFrame

DataFrame类型是由共用相同索引的一组列组成

DataFrame的特点:

  1. DataFrame是一个表格型的数据类型,每列值类型可以不同
  2. DataFrame既有行索引,也有列索引
  3. DataFrame常用于二维数据,但也可以表达多维数据

DataFrame的创建

方法一:pd.DataFrame(data=dict) data可以省略

dicts = {'one':[1,2,3,4],'two':[9,8,7,6]}
dict_df = pd.DataFrame(dicts)

方法二:pd.DataFrame.from_dict(data=dict) data可以省略

dicts = {'one':[1,2,3,4],'two':[9,8,7,6]}
dict_df = pd.DataFrame.from_dict(data=dicts)

方法三:pd.DataFrame(data) 直接写入字典类型的数据

dict_df = pd.DataFrame({'one':[1,2,3,4],'two':[9,8,7,6]})
dict_df = pd.DataFrame.from_dict({'one':[1,2,3,4],'two':[9,8,7,6]})

方法四:一维ndarray对象字典创建

dt = {'one':pd.Series([1,2,3,4]),
      'two':pd.Series([9,8,7,6])}
ser_df = pd.DataFrame(dt)

方法五:二维ndarray对象字典创建

df =pd.DataFrame(np.arange(20).reshape(4,5))

DataFrame获取值

  • 获取一列数值
dt = {'one':[1,2,3,4],'two':[9,8,7,6]}
dframe = pd.DataFrame(dt)
print(dframe['one'])

python数据分析————pandas库的数据结构Series和DataFrame的基本使用
  • 索引操作
dt = {'one':[1,2,3,4],'two':[9,8,7,6]}
dframe = pd.DataFrame(dt,index=['a','b','c','d'])

print(dframe.loc['a', 'two'])

print(dframe.loc['a'])
print(dframe.loc[:, 'one'])

print(dframe.loc['a':'b'])
print(dframe.loc[:, 'one':'two'])

print(dframe.iloc[0])

print(frame.iloc[:, 0])

print(frame.iloc[:2],)
print(frame.iloc[:, :2])
  • DataFrame loc和iloc的区别
    loc是通过标签进行选择(select by label)
    iloc是通过位置进行选择(select by position)

DataFrame添加列

dt = {'one':[1,2,3,4],'two':[9,8,7,6]}
dframe = pd.DataFrame(dt)
new_column = ['No1','No2','No3','No4']
dframe.insert(1,'three',new_column)

python数据分析————pandas库的数据结构Series和DataFrame的基本使用
DataFrame默认是不允许添加重复的列的,如果想添加,需要修改allow_duplicates值,默认为False
dframe.insert(1,'three',new_column,allow_duplicates=True)

python数据分析————pandas库的数据结构Series和DataFrame的基本使用

DataFrame添加行

dt = {'one':[1,2,3,4],'two':[9,8,7,6]}
dframe = pd.DataFrame(dt)
new_index = [5,5]
dframe.loc[4] = new_index

python数据分析————pandas库的数据结构Series和DataFrame的基本使用
值得注意的是:loc实际是 操作,如果loc[index]中的index存在,那么就会替换原本index上的值

DataFrame的重建索引

.reindex()参数说明index,columns自定义索引fill_value重新索引后,用于填充空位置的值method填充方法,ffill当前值向前填充,bfill向后填充limit最大填充量copy默认True,生成新的对象,False时,新旧相等不复制

s1 = pd.Series([7, -5, 3, 11], index=['bill', 'hope', 'mike', 'yana'])
print(s1.reindex(['mike', 'yana', 'lynn', 'vicky', 'hope']))
print(pd.Series(s1, index=['lynn', 'bill', 'mike']))

print(s1.reindex(['bill', 'yana', 'lynn', 'vicky'], fill_value=999))

print(s1.reindex(['d', 'e', 'a', 'z', 'j', 's'], method='ffill'))

print(s1.reindex(['d', 'e', 'a', 'z', 'j', 's'], method='bfill'))
  • 关于ffill和bfill填充问题
    有趣的是,如果有插入索引的问题,在索引填充时前向填充ffill会选取最后一个索引来进行填充;同理,后向填充bfill会选取最后一个索引后的值来进行填充,索引此时填充的即为NaN空值

Original: https://blog.csdn.net/flandreflor/article/details/111186356
Author: flandre翠花
Title: python数据分析————pandas库的数据结构Series和DataFrame的基本使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/679481/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 数字图像处理——最大类间方差法(OTSU)图像阈值分割实例

    数字图像处理——最大类间方差法(OTSU)图像阈值分割实例 数字图像处理——最大类间方差法(OTSU)图像阈值分割实例 图像阈值分割是指通过以某个确定的图像灰度值(灰度级)将图像分…

    人工智能 2023年6月18日
    0106
  • 04 Nacos注册中心-微服务

    Nacos注册中心 ①下载安装包②解压③在bin目录下运行指令:startup.cmd -m standalone ①引入nacos.discovery依赖②配置nacos地址sp…

    人工智能 2023年6月28日
    093
  • 大数据分析是什么

    现阶段,大数据时代的不断发展,让数据分析岗也跟着火了起来,但是很多的一部分人还不了解,什么是数据分析,有什么前景?大数据分析:是指对规模巨大的数据进行分析,大数据可以概括为:数据量…

    人工智能 2023年7月18日
    087
  • mosaic实现

    step1. 假设模型输入尺寸为s,生成一幅尺寸为2s * 2s的灰色图step2. 从点A(s/2, s/2)和点B(3s/2, 3s/2)限定的矩形内随机选择一点作为拼接点st…

    人工智能 2023年6月28日
    089
  • openCV(一)

    图像采样与分辨率 • 采样后得到离散图像的尺寸称为图像分辨率。分辨率是数字图像可辨别的最小细节。• 分辨率由宽(width)和高(height)两个参数构成。宽表示水平方向的细节数…

    人工智能 2023年6月22日
    097
  • 一、音频基础知识 – 语音的基本特征

    本篇文章主要介绍量化、分析语音信号:围绕语音是怎么产生的?都有哪些特点?这些原理都是语音识别背后的基础。一、音频基础知识-声音的产生和记录一文中描述了声音的本质,并且介绍了一段单一…

    人工智能 2023年5月25日
    0116
  • 图文详解WGAN及其变体WGAN-GP并利用Tensorflow2实现WGAN与WGAN-GP

    图文详解WGAN及其变体WGAN-GP并利用Tensorflow2实现WGAN与WGAN-GP * – 构建WGAN(Wasserstein GAN) – …

    人工智能 2023年5月26日
    071
  • 数字营销的十大悖论

    悖论一:原生化与商业化 原生与商业化,不可兼得;怎样达到一个平衡点 想要不带利益的原生UGC内容,就很难做到优秀的商业化 好的商业化又会验证影响UGC的水准,掺杂了商业利益的内容,…

    人工智能 2023年6月4日
    0113
  • 如何在VS2017中配置OpenCV

    如何在VS2017配置OpenCV 步骤共分为一下5步: 下载OpenCV SDK 与安装 安装VS2015或者VS2017 1、 配置包含目录 2、 配置库目录 3、 配置链接器…

    人工智能 2023年5月26日
    0104
  • [Pandas] 数据连接pd.concat

    美图欣赏2022/06/25 Pandas数据可以实现纵向和横向连接,将数据连接后会形成一个新对象(Series或DataFrame) 连接是最常用的多个数据合并操作 pd.con…

    人工智能 2023年7月6日
    089
  • 度秘语音引擎app_带有语音识别功能的APP

    实验目的: 调用讯飞api实现一个带有语音识别功能的app, 功能主要包括 1.实现语音输入转换成文本,显示在输入文本框中 实现语音合成,能让文本框中的文字转换成语音输出 先跑通这…

    人工智能 2023年5月27日
    0153
  • AlphaFold2算法详解

    正文:https://www.nature.com/articles/s41586-021-03819-2 【公开课】基于AI预测蛋白质折叠的三维空间结构——AlphaFold2原…

    人工智能 2023年7月12日
    0116
  • 什么是TensorFlow的会话(Session)

    什么是TensorFlow的会话(Session)? TensorFlow是一个流行的开源深度学习框架,用于构建和训练各种机器学习模型。在TensorFlow中,会话(Sessio…

    人工智能 2023年12月31日
    082
  • openCV实践项目:银行卡卡号识别

    本文用于对之前openCV知识点学习的复习及实践。要求达到以下效果: 一、基本流程思路分析 本项目本质上就是进行模板匹配。 注:为多用到所学知识,为了加深理解多加了些步骤,实际上本…

    人工智能 2023年6月18日
    0128
  • 【论文笔记】Details or Artifacts: A Locally Discriminative Learning Approach toRealistic Image Super-Reso

    细节还是伪纹理:真实图像超分辨率的局部判别方法 来自于CVPR2022,作者Jie Liang, Hui Zeng and Lei Zhang 论文地址:https://arxiv…

    人工智能 2023年7月28日
    0104
  • R基于密度的噪声应用聚类DBScan

    基于密度的噪声应用聚类 ( DBScan ) 是一种无监督学习非线性算法。它确实使用了密度可达性和密度连通性的思想。数据被划分为具有相似特征或集群的组,但不需要事先指定这些组的数量…

    人工智能 2023年6月2日
    0126
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球