pandas使用方法汇总

1.dataframe的操作

1.1基本方法(后面记得加括号)

df.values  # 查看所有元素
df[''].value_counts #统计某列中类的数量,参数:normalize(返回占比)、sort(排序)、
          ascending (boolean, default False)(是否升序排列)。。
          eg. df['company'].value_counts(normalize=True)
df.head    # 查看前五行的数据
df.tail    # 查看最后五行的数据
df.index   # 查看索引
df.columns # 查看所有列名
df.dtype   # 查看字段类型
df.size    # 元素总数
df.ndim    # 表的维度数
df.shape   # 返回表的行数与列数
df.info    # DataFrame的详细内容
df.describe # 生成描述性统计汇总,包括均值、max等
df.isna    # 判断数据是否为缺失值,是的话返回true
df.isna().any()  # 数据量较大时,使用any()查看某一列是否有缺失值
df.dropna # 删掉含有缺失值的数据
df.fillna # 填充数据,主要参数:value(填充的值)、 method(缺失值填充方法)
df.sort_values  # 按照某列进行排序,eg.data.sort_values(by='salary') 也可用ascending

1.2 dataframe数据的查看方法

单列数据:df['col1']
单列多行:df['col1'][2:7]
多列多行:df[['col1','col2']][2:7]
多行数据:df[:][2:7]     #这里使用df[2:7][:]也能得到同样的效果

1.3loc,iloc的查看方法

loc[行索引名称或条件,列索引名称]
iloc[行索引位置,列索引位置]

单列切片:df.loc[:,'col1']
         df.iloc[:,3]
多列切片:df.loc[:,['col1','col2']]
         df.iloc[:,[1,3]]
按需切片:df.loc[2:5,['col1','col2']]
         df.iloc[2:5,[1,3]]
条件切片:df.loc[df['col1']=='245',['col1','col2']]
         df.iloc[(df['col1']=='245').values,[1,5]]

1.4删除数据(及时更新)

删除某几行数据,inplace为True时在源数据上删除,False时需要新增数据集
df.drop(labels=range(1,11),axis=0,inplace=True)
删除某几列数据
df.drop(labels=['col1','col2'],axis=1,inplace=True)

1.5更新

df=df.reset_index(drop=True)     #更新索引范围,不更新的话会导致报错keyerror

2.处理时间序列数据

2.1字符串时间转换为标准时间

df['time'] = pd.to_datetime(df['time'])

2.2加减时间

使用Timedelta,支持weeks,days,hours,minutes,seconds,但不支持月和年
df['time'] = df['time'] + pd.Timedelta(days=1)
df['time'] = df['time'] - pd.to_datetime('2016-1-1')
时间跨度计算:
df['time'].max() - df['time'].min()

3.分组聚合(groupby)

(1)基本方法

df.groupby(by='',axis=0,level=None,as_index=True,sort=True,group_keys=True
           ,squeeze=False).count()
by--分组的字段  level--标签所在级别,默认None  as_index--聚合标签是否以df形式输出,
  默认True,sort--是否对分组依据,分组标签进行排序,默认True  group_keys--是否显示分组
  标签名称,默认True  squeeze--是否对返回数据进行降维,默认False
聚合函数有count,head,max,min,median,size,std,sum

(2)具体使用:如图包含三个字段,company、salary、age

pandas使用方法汇总

使用语句:

group = data.groupby("company")

结果:

In [8]: list(group)
Out[8]:
[('A',   company  salary  age
  3       A      20   22
  6       A      23   33),
 ('B',   company  salary  age
  4       B      10   17
  5       B      21   40
  8       B       8   30),
 ('C',   company  salary  age
  0       C      43   35
  1       C      17   25
  2       C       8   30
  7       C      49   19)]

可以清楚的看见,dataframe通过groupby(”company”),将df按company进行分组,得到了按company中不同的类别进行的分组,总的来说, groupby的过程就是将原有的 DataFrame按照 groupby的字段(这里是 company),划分为若干个 分组DataFrame,被分为多少个组就有多少个 分组DataFrame

3.1agg、transform、apply方法的使用见下面的链接

参考链接:

groupby用法:Pandas教程 | 超好用的Groupby用法详解 – 知乎

pandas常见函数使用:Python笔记–Pandas常用函数汇总 – 知乎

Original: https://blog.csdn.net/xiaomingming99/article/details/122230443
Author: 独为我唱
Title: pandas使用方法汇总

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

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

(0)

大家都在看

  • 第三节课 Pandas,Numpy的简单使用

    1、安装numpy 2、numpy的操作 3、相关操作 4、Pandas数据分析 5、绘图 6、数据清洗 pip install numpy 安装jupyter,安装noteboo…

    Python 2023年8月27日
    032
  • python入门06 动画精灵和碰撞检测pygame

    目录 动画精灵和碰撞检测 前提 一、动画精灵 ​ ①、一堆沙滩球都反弹 ②、让小球动起来 二、碰撞检测 矩形碰撞与像素完美结合 三、统计时间 用 pygame.time.Clock…

    Python 2023年9月20日
    076
  • Pytest.conftest

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

    Python 2023年9月13日
    052
  • 【Linux】进程控制:父进程与子进程

    目录 1 进程创建 * 1.1 认识fork 1.2 进程创建的目的 1.3 写时拷贝 1.4 进程创建失败的场景 2 进程退出 * 2.1 进程退出状态 2.2 进程退出的方式 …

    Python 2023年11月5日
    037
  • 谣言粉碎机?Python验证股市操盘口诀

    更多精彩内容, 欢迎关注公众号:数量技术宅,也可添加技术宅 个人微信号:sljsz01,与我交流。 经常炒股的朋友,应该都听说过这段操盘口诀: 早上大跌要买,早上大涨要卖 下午大涨…

    Python 2023年6月3日
    078
  • 如何使用 pyqt 实现 Groove 音乐播放器

    前言 Win10 自带了一款很好用的音乐播放器 —— Groove 音乐,但是只能支持本地音乐的播放。2020年3月底到4月底,自己一直在学习 PyQt5,然后从 2020年5月开…

    Python 2023年5月24日
    082
  • 拯救pandas计划(4)——DataFrame分组条件查找值

    拯救pandas计划(4)——DataFrame分组条件查找值 * – / 数据需求 – / 需求拆解 – / 需求处理 – + 方…

    Python 2023年8月20日
    054
  • 对标 VS Code,JetBrains 的下一代 IDE:Fleet

    昨天 (11月29日), JetBrains 网站上出现了一个全新的 IDE — Fleet 它是谁呢?这软件的风格,怎么看都不像 JB 的亲儿子。。 不过,我很负责任…

    Python 2023年6月6日
    0117
  • PRML 回归的线性模型

    本文地址:https://www.cnblogs.com/faranten/p/15947139.html转载请注明作者与出处​ ​ ​ 线性模型最简单的形式就是输入变量的线性模型…

    Python 2023年10月28日
    033
  • OpenCV-眼睛控制鼠标

    找来了一篇好玩的 大伙可以试试啊 如何用眼睛来控制鼠标?一种基于单一前向视角的机器学习眼睛姿态估计方法。在此项目中,每次单击鼠标时,我们都会编写代码来裁剪你们的眼睛图像。使用这些数…

    Python 2023年9月28日
    046
  • Python中的装饰器

    装饰器 装饰器定义; 本质是函数 :函数的目的是完成特定的功能 装饰器功能:一个装饰其他函数功能的函数(为其他函数添加特定的功能) 抛出问题: 假如我们现在有10个函数,每个函数都…

    Python 2023年6月3日
    071
  • SPL工业智能:原料与产品的拟合

    问题提出 工业生产活动的目标是利用原料生产产品,从而产生利润。原料经过一系列加工过程,包括物理反应和化学反应,最终形成产品,生产的理想状态是原料到产品的转换率是确定的,工厂想生产多…

    Python 2023年11月7日
    039
  • pytest框架前置和后置方法

    pytest框架前置和后置方法 模块级别:setup_module() 和 teardown_module() 方法执行规则 函数级别:setup_function() 和 tea…

    Python 2023年9月13日
    053
  • SQLAchemy处理一张表里两个外键指向同一个表的主键

    前言:许多时候实现目标功能都会遇到一张表里两个外键指向同一个表的主键,即为用一个表1关联另一个表2,表1里却使用了两个相同的外键去关联表2的主键,但是指向表2的事物是不同的,若不懂…

    Python 2023年8月15日
    035
  • 价值上万的Python逆向教程,模拟登陆微博

    0x00 抓包分析 简单搜索后发现,很多参数都是登录上述请求后返回的值,当账户光标到达密码框时会生成该值! [En] After a simple search, it is fo…

    Python 2023年5月24日
    054
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球