【Python-pandas】pandas入门

Python pandas基础入门 一、简介 pandas是一个强大的Python数据分析的工具包,是基于NumPy构建 pandas的主要功能: 具备对其功能的数据结构DataFrame、Series 集成时间序列功能 提供丰富的教学运算和操作 灵活处理缺失数据 安装:pip3 install pandas 二、Series 1、简介 Series是一种类似于一维数组的对象,由一组数据和一组与之相关的数据标签(索引)组成 Series比较像列表(数组)和字典的结合体 Series支持array的特性(下标): 阅读详情

Series

import pandas as pd
from pandas import Series,DataFrame

# 因为pandas含有使得数据分析工作变得更快和更简单那的高级数据结构和操作工具
# pandas是基于Numpy来进行构建的,让以Numpy为中心的应用变得更加简单

## Series类型说明
# 这个就是一种类似于一维数组的对象,它是由一组阈值相关的数组标签组成(索引)
# 仅由一组数据即可产生最简单的Series
obj=Series([1,2,3,4,5])
print(obj)
print(obj.values)
print(obj.index)

##自定义索引
obj=Series(['a','b','c','d','e'],index=[1,2,3,4,5])
print(obj)
print(obj[1])
#Series也可以被当成字典来使用
#将一个字典类型的数据转换成Series类型的数据
data={'a':1000,'b':2000,'c':"3000"}
print(data)
obj=Series(data)#这个时候,Series中的索引就是字典中的健
print(obj)

#使用字典的部分数据构建Series
keys=['a','c']
obj_1=Series(data,index=keys)
print(obj_1)

#缺失数据的处理
data={'a':None,'b':2000,'c':3000}
obj=Series(data)
print("notnull==========================")
print(obj)
print(pd.notnull(obj))
print(pd.isnull(obj))


data={"LiLei":None,"HanMeimei":25,"Tony":None,"Jack":50}
obj=Series(data)
obj.name="Name_and_Age"
obj.index.name="xingming"
print(obj)

DataFrame

  • DataFrame是一个表格行的数据结构,它有一组有序的列。
  • 每列可以是不同值的类型、数值、字符串
  • DataFrame本身由行索引,也有列索引
  • DataFrame也可以理解成是由Series组成的字典
构建一个DataFrame
import pandas as pd
from pandas import Series,DataFrame
data={
    '60年代':['狗子','嘎子','秀儿'],
    '70年代':['卫国','建国','爱国'],
    '80年代':['李雷','韩梅梅','张伟']
}
frame_data=DataFrame(data)
print(frame_data)
print(frame_data['70年代'])
pandas重新索引

排序

Series
import pandas
from pandas import Series,DataFrame
#排序
#根据条件对数据集进行排序
obj=Series(range(4),index=['d','e','a','b'])
print(obj)
print(obj.sort_index())
print(obj.sort_values())
DataFrame
import pandas
from pandas import DataFrame
import numpy as np
frame=DataFrame(np.arange(8).reshape((2,4)),index=['two','one'],columns=['c','d','a','b'])
print(frame)
#默认使用index进行排序,axis=0
print(frame.sort_index())
#指定轴进行排序
print(frame.sort_index(axis=1))
frame=DataFrame({'b':[4,7,2,-1],'a':[0,4,2,0]},index=['a','b','d','c'])
print(frame)
frame=DataFrame({'b':[4,7,2,-1],'a':[0,4,2,0]})
print(frame)
print(frame.sort_values(by='b'))

层次化索引

初始层次化索引
import pandas
from pandas import Series,DataFrame
import numpy as np

#层次化索引
# 层次化索引是pandas的一项比较重要的功能。它能够让你在一个轴上拥有多个索引级别,
# 另一种说法是它能以低纬度形式处理高纬度数据
data=Series(np.random.randn(10),index=[['a','a','a','b','b','b','c','c','d','d'],[1,2,3,4,5,6,7,8,1,2]])
print(data)
输出:
a  1    0.893465
   2   -0.760556
   3   -0.982304
b  4   -0.131939
   5   -0.958735
   6   -1.562588
c  7   -0.040378
   8    0.129428
d  1   -0.019108
   2   -0.913752
import pandas
from pandas import Series,DataFrame
import numpy as np
#选取子集操作
data=Series(np.random.randn(10),index=[['a','a','a','b','b','b','c','c','d','d'],[1,2,3,4,5,6,7,8,1,2]])
print(data)
# print(data['b'])
# print(data['b':'d'])
#内层索引
# print(data[:,2])    #第一层索引选择所有元素,第二层索引中选择索引为2的元素
# print(data.unstack().stack())
# 使用unstack生成一个新的dataframe
from pandas import DataFrame
import numpy as np
#对于DataFrame每条轴都可以有分层索引,各层也是都可以有名字的
frame_data=DataFrame(np.arange(12).reshape((4,3)),
          index=[['a','a','b','b'],[1,2,1,2]],
          columns=[['Black','Yellow','Bule'],['Green','Red','Green']])
print(frame_data)
frame_data.columns.names=['color1','color2']
print(frame_data)
frame_data.index.names=['k1','k2'] 
print(frame_data)

DataFrame类型层次化索引的基本操作

DataFrame层次化索引的访问

选择列:frame_data['Black']

from pandas import DataFrame
import numpy as np
#对于DataFrame每条轴都可以有分层索引,各层也是都可以有名字的
frame_data=DataFrame(np.arange(12).reshape((4,3)),
          index=[['a','a','b','b'],[1,2,1,2]],
          columns=[['Black','Yellow','Black'],['Green','Red','Bule']])
print(frame_data)
print(frame_data['Black'])

行和列同时筛选:frame_data.loc['a',['Black']]

from pandas import DataFrame
import numpy as np
#对于DataFrame每条轴都可以有分层索引,各层也是都可以有名字的
frame_data=DataFrame(np.arange(12).reshape((4,3)),
          index=[['a','a','b','b'],[1,2,1,2]],
          columns=[['Black','Yellow','Black'],['Green','Red','Bule']])
print(frame_data.loc['a',['Black']])
from pandas import DataFrame
import numpy as np
frame_data=DataFrame(np.arange(12).reshape((4,3)),
          index=[['a','a','b','b'],[1,2,1,2]],
          columns=[['Black','Yellow','Black'],['Green','Red','Bule']])
frame_data.index.names=['k1','k2']
frame_data.columns.names=['color1','color2']
print(frame_data)
print(frame_data.sum(level='k2'))
print(frame_data.sum(level='color2',axis=1))

pandas读取csv文件

pandas文本格式数据处理
read_csv:从文件、url、文件型对象中加载带分隔符的数据,默认分隔符为逗号
read_table:从文件、url、文件型对象中加载带分隔符的数据,默认分割符号为制表符\t
read_fwf:读取固定宽列格式数据
read_clipboard:读取剪切板中的数据,可以看作是read_table的剪切板,可以用在将网页中的数据转换为表格中数据时用到

import pandas as pd
r=pd.read_csv('data/test/data.csv')
print(r)
输出:
   a  b  c  d   e
0  1  2  3  4   5
1  6  7  8  9  10
默认将第一行数据当成是表头

阻止第一行数据被当成表头的方法

import pandas as pd
r=pd.read_csv('data/test/data.csv',header=None)
print(r)

指定分隔符

import pandas as pd
r=pd.read_table('data/test/data.csv',sep=',')   #指定分隔符
print(r)

指定某列为索引

import pandas as pd
r1=pd.read_csv('data/test/data.csv')
r2=pd.read_csv('data/test/data.csv',index_col='c')
print(r1)
print(r2)
输出:
   a  b  c  d   e
0  1  2  3  4   5
1  6  7  8  9  10
   a  b  d   e
c             
3  1  2  4   5
8  6  7  9  10

指定多列为层次化索引

import pandas as pd
r1=pd.read_csv('data/test/data.csv')
r2=pd.read_csv('data/test/data.csv',index_col='c')
r3=pd.read_csv('data/test/data.csv',index_col=['c','d'])
print(r1)
print("========================")
print(r2)
print("========================")
print(r3)
输出:
   a  b  c  d   e
0  1  2  3  4   5
1  6  7  8  9  10
========================
   a  b  d   e
c             
3  1  2  4   5
8  6  7  9  10
========================
     a  b   e
c d          
3 4  1  2   5
8 9  6  7  10
import pandas as pd
r1=pd.read_csv('data/test/data2.csv')
print(r1)
#文件中的NA表示空
       a   b   c   d  message   data
0      1   2   3   4        5    NaN
1  hello   6   7   8        9  world
2    NaN  hi  10  11       12     14

不读取某一行

import pandas as pd
r1=pd.read_csv('data/test/data2.csv',skiprows=[1])#不读取第一行
r2=pd.read_csv('data/test/data2.csv')
print(r1)
print(r2)
       a   b   c   d  message   data
0  hello   6   7   8        9  world
1    NaN  hi  10  11       12     14
       a   b   c   d  message   data
0      1   2   3   4        5    NaN
1  hello   6   7   8        9  world
2    NaN  hi  10  11       12     14

判断是否为空

import pandas as pd
rs=pd.read_csv('data/test/data2.csv')
print(pd.isnull(rs))
输出:
       a      b      c      d  message   data
0  False  False  False  False    False   True
1  False  False  False  False    False  False
2   True  False  False  False    False  False

大文件指定读取前几行

import pandas as pd
rs=pd.read_csv('data/test/data2.csv',nrows=2)
print(rs)

读取一个csv文件写入另一个文件

import pandas as pd
rs=pd.read_csv('data/test/data2.csv',nrows=2)
print(rs)
print("============================")
rs.to_csv('data3.csv',sep="|")

读取excel数据

data.xlsx文件的数据内容如下:
id age place
1 11 21
2 12 22
3 13 23
4 14 24
5 15 25
6 16 26
7 17 27
8 18 28
9 19 29
10 20 30
读取data.xlsx文件并绘制图像,并保存成1.jpg格式

import pandas as pd
data=pd.read_excel('data/test/data.xlsx')
p1=data.plot(kind='scatter',x='age',y='place').get_figure()
p1.savefig('1.jpg')
import pandas as pd
import numpy as np
dates=pd.date_range('20200101',periods=100)
print(dates)
df=pd.DataFrame(np.random.randn(100,4),index=dates,columns=list('ABCD'))
print(df)
p1=df.plot(kind='scatter',x='A',y='B').get_figure()
p1.savefig('1.jpg')
python pandas入门指南 终于也到介绍pandas的时候了,python中用于处理data的一个lib从wiki中找到的关于pandas的介绍,如下,;Repository可以看的出来,pandas的诞生的很晚,而且时使用python/Cython/C开发的,自然就成了python中处理data的lib。 阅读详情

相关推荐

python数据分析基础005 -pandas详解_pandas入门这一篇就足够了

pandas详解,建议收藏!!

苏凉.py的博客 8125

Python pandas用法

Python pandas用法 无味之味关注 0.8622019.01.10 15:43:25字数 2,877阅读 57,516 介绍 在Python中,pandas是基于NumPy数组构建的,使数据预处理、清洗、分析工作变得更快更简单。pandas是专门为处理表格和混杂数据设计的,而NumPy更适合处理统一的数值数组数据。 使用下面格式约定,引入pandas包: import pandas as pd pandas有两个主要数据结构:Series和DataFrame。 Series S

cxu123321的博客 947

【LLM】ms-Swift框架下SFT与GRPO协同优化的高效训练策略

本文深入探讨了ms-Swift框架下监督微调(SFT)与群组相对策略优化(GRPO)的协同训练策略,提升大型语言模型(LLM)的性能与效率。通过创新的架构设计和两阶段训练流程,结合GRPO的群组奖励估计与动态基线调整技术,显著优化了数学推理等任务的准确率。文章还分享了计算资源高效利用和参数调优的实战经验,为LLM训练提供了实用指导。

green的博客 994

import pandas 使用方法

对于数据科学家,无论是数据分析还是数据挖掘来说,Pandas是一个非常重要的Python包。它不仅提供了很多方法,使得数据处理非常简单,同时在数据处理速度上也做了很多优化,使得和Python内置方法相比时有了很大的优势。 导入数据 pd.read_csv(filename):从CSV文件导入数据 pd.read_table(filename):从限定分隔符的文本文件导入数据 pd...

一米阳光 3万+

显示发光---LED/OLED/LCD/AMOLED原理图介绍

显示发光不同原理介绍

Classical_Man的博客 2857

ROS应用之如何配置RTOS满足机器人系统中的实时要求

实时操作系统(RTOS)基本概念实时操作系统(RTOS)是设计用于实时应用的操作系统,其主要目标是在确定的时间内完成任务。RTOS的任务调度算法和优先级控制机制能够确保高优先级任务按时完成。精确的传感器数据采集:传感器数据需要在规定时间内采集并传输给控制系统。快速响应外部事件:对于控制系统,需要确保指令在最短的时间内得到响应。任务的调度周期:任务的周期可以通过公式计算,其中 ftask 是任务的调度频率。优先级分配。

weixin_68094467的博客 1009

pandas reindex_十分钟入门pandas

这个一篇针对pandas新手的简短入门!!!!首先导入需要的几个库。import pandas as pdimport numpy as npimport matplotlib.pyplot as plt创建对象¶pandas中两种类型:series和dataframe.下面创建两种基本类型。通过传递一个list来创建Series,pandas会默认创建整型索引s = pd.Series([1,3...

weixin_39667041的博客 713

24、水下传感器网络中混合LEACH协议与遗传算法获取路由节点

本文提出了一种结合遗传算法与LEACH协议的混合路由方案,用于提升水下无线传感器网络(UWSN)的能量利用效率和数据传输稳定性。通过遗传算法优化簇头选择与路径规划,有效避免节点过早死亡,减少能量消耗,在200个节点场景下显著提升网络寿命。相比传统LEACH协议,该方案具有更高的能量利用率、更强的环境适应性,并支持传输历史记录与并行传输序列。实验结果显示,该方案在总能量为2000焦耳时剩余能量达75.6%,远优于LEACH的34.8%能耗表现。适用于海洋监测、石油平台监控及水下灾害预警等复杂环境应用。

i8j9k0l1的博客 112

人工智能科学计算库—Pandas教程

Pandas 是 Python 语言的一个扩展程序库,用于数据分析。​    Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。​   Pandas 名字衍生自术语 “panel data”(面板数据)和 “Python data analysis”(Python 数据分析)。​   Pandas 一个强大的分析结构化数据的工具集,基础是Numpy(提供高性能的矩阵运算)。

勇敢牛牛,不怕困难! 5381

标准论文参考文献添加方法——Zotero入门使用教程

第一篇论文投出去了,写一下最后一步的参考文献修饰润色吧! 论文的参考文献,即References,是论文的最后一步,相信不管是写毕设论文还是期刊论文都遇到过需要修改参考文献的情况,非常之麻烦。而且参考文献中经常会与生僻奇怪气体出现,一个一个修改非常浪费时间,这里介绍一下一个非常好用的软件Zetero。 第一步:软件的下载安装及绑定Word 尽量使用客户端吧,

MISAYAONE的博客 20万+

用一张分析型 CDS Query 看清争议案件新增与结案节奏:C_OpenClosedDisputeCase 深度解读

应收账款争议管理中的关键CDS视图分析 摘要:C_OpenClosedDisputeCase是SAP系统中用于监控应收账款争议案件的重要CDS视图,提供三个时间窗口(当日、近5天、当月)的新增与结案数据。该视图通过"创建vs解决"的净变化指标,帮助财务团队实时掌握争议管理趋势,特别适用于多币种跨国企业的现金流管理。其核心价值在于将争议管理从被动"救火"转变为可量化运营,通过统一汇率换算和关键日期参数,为管理层提供标准化的运营仪表盘。视图采用特权访问模式,需通过上层应用

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 123

pandas库入门基础

pandas库入门基础 一。 pandas是python的第三方库,能提供高性能易用数据分析类型和分析工具。 pandas库中含有Series类型和DataFrame类型(一定要注意大小写,)。 import pandas as pd 为导入库,可以使用Anaconda软件来编写代码,具体下载请自行从网上查找。pandas库由索引和数据组成,分为一维 ,二维,以及多维数据。 二:Series(注意大小写) Series库由索引和一组数据组成 而DataFrame由索引和多组数据组成 Series数据类型

YY_6666_的博客 2275

【推荐100个unity插件】unity易于使用模块化设计的天空、体积云和天气系统——Enviro 3

Enviro 3是一款功能强大的Unity天空与天气系统插件,提供动态天空、体积云、天气模拟等丰富功能。安装时需将预制体拖入场景并配置主相机,URP支持需激活深度纹理和添加渲染特性。模块化设计允许自由添加/移除时间、光照、雾效等模块,并通过API控制参数。推荐配合色调映射(如ACES模式)获得最佳视觉效果。插件支持季节、温湿度模拟及闪电风暴等特效,适用于需要逼真环境渲染的Unity项目。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2096

Python之一文入门Pandas

本文介绍了Python数据分析库Pandas的核心数据结构Series。主要内容包括: Series概述:一维数据结构,包含索引(index)和值(values),类似Excel列数据; 创建方法:通过列表、标量值、字典和ndarray四种方式创建Series,并说明index参数的作用; 基本操作:包括数据获取(values/index访问)、数据访问(in/索引/位置/get方法)、缺失值检测和切片操作; 特性:支持向量化操作,具有类似NumPy的广播机制。Series作为Pandas基础数据结构,为数

空名的博客——云深知处 1315

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【Python 零基础入门】Pandas

深入探索 Python 的 Pandas 库:从核心数据结构到高级特性,本指南为你提供了全面的 Pandas 知识概览。无论你是数据初学者还是专家,都可在此找到宝贵的 insights 和技巧,助力你的数据处理与分析工作。

我是小白呀的博客 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Python入门之——Pandas设置值

这篇文章摘要介绍了如何使用Pandas进行数据操作,主要包括: 创建DataFrame并修改特定单元格值(使用iloc和loc定位) 条件修改数据(如将A列大于4的值设为0) 添加新列(包括添加空列和带值的列) 使用numpy生成数据并重新塑形 日期索引的使用方法 这些操作展示了Pandas在数据处理中的基础应用,包括数据定位、条件筛选和列操作等功能。

weixin_46407807的博客 157

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Python入门之——Pandas合并Concat

本文演示了使用Pandas进行DataFrame合并的几种方法:1)使用concat()函数进行纵向(axis=0)和横向(axis=1)合并;2)通过ignore_index参数重置索引;3)使用join参数控制合并方式(inner取交集);4)使用_append()方法追加数据。示例展示了如何处理不同索引和列名的DataFrame,以及合并后缺失值的填充情况。这些操作适用于数据整合与清洗场景。

weixin_46407807的博客 153

Python 机器学习入门之Pandas

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

qq_40668262的博客 357

python pandas 教学,入门介绍

我用python 想分析新冠病毒数据,别人建议我学习pandas。这里就把我的学习笔记整理一下。 我学习的网站是: https://www.learndatasci.com/tutorials/python-pandas-tutorial-complete-introduction-for-beginners/ 整个内容基本上可以从这个网站看到。 进一步的学习资料是:https://pa...

曾立文的博客 967

四十岁入门 python pandas 处理 Excel 报表

都说 python 很强大,又容易学,有的省份已经将 python 纳入小学课程,于是我也想看看 python 有多容易学,断断续续看了差不多多半年的时间,有一种相见恨晚的感觉,为了不让更多的人错过这个强大又简单的编程工具,今天我用最朴实无华的语言,总结我的所学,致力于让每一个人都能入门 python pandas ,用 python pandas 高效的处理 Excel 报表。

Python_cocola的博客 269

Python数据分析Pandas快速入门教程

Python数据分析Pandas快速入门教程 去发现同类优质开源项目:https://gitcode.com/ 资源介绍 本仓库提供了一个名为“python数据分析pandas快速入门教程.pdf”的资源文件下载。该文件是一本电子版书籍,旨在帮助初学者快速入门Python中的Pandas库,掌握数据处理的基本技能。 资源内容 标题: python数据分析pandas快速入门教程.pdf 描述: ...

gitblog_06615的博客 420

Python学习(十四)pandas库入门手册

Python学习(十四)pandas库入门手册

ACGkaka的博客 1980

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

pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库。本文是对它的一个入门教程。pandas提供了快速,灵活和富有表现力的数据结构,目的是使“关系”或“标记”数据的工作既简单又直观。它旨在成为在Python中进行实际数据分析的高级构建块。入门介绍pandas适合于许多不同类型的数据,包括:具有异构类型列的表格数据,例如SQL表格...

weixin_37988176的博客 429

猫头虎分享:Python库 Pandas 的简介、安装、用法详解入门教程

Pandas是一个用于高效处理结构化数据的Python库,特别适合处理表格数据(类似Excel中的表格),比如金融数据、实验记录等。它提供了DataFrame和Series两大核心数据结构,能够帮助我们轻松应对大规模数据的导入、清洗、处理与分析工作。操作命令解释安装Pandas安装Pandas库读取CSV文件读取CSV文件创建DataFrame使用字典创建DataFrame数据筛选df[df['年龄'] > 25]根据条件筛选数据处理缺失值填充缺失值删除重复行删除重复行数据可视化。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 1万+
上一篇: 【Python-BUG】ImportError: Missing optional dependency ‘xlrd‘. Install xlrd >= 1.0.0 for E
下一篇: 【PyTorch】1.1认识Pytorch
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值