DataFrame——基于jupyter

  • DataFrame表示一个长方形表格,并包含排好序的列,每一列都可以是不同的数值类型(数字,字符串,布尔值)。DataFrame有行索引和列索引(row index, column index);可以看做是分享所有索引的由series组成的字典

本文代码可参考资源:https://download.csdn.net/download/weixin_43808138/82898438
(内含更全内容!可直接运行)

import pandas as pd
import numpy as np

一、DataFrame的基础

1.1 DataFrame的创建

data = pd.DataFrame({ 'a' : [1,2,3,4],
                      'b' : list('love'),
                      'c' : 1})

DataFrame——基于jupyter
添加行索引
data = pd.DataFrame({ 'a' : [1,2,3,4],
                      'b' : list('love'),
                      'c' : 1},index = ['one','two','three','four'])
data

DataFrame——基于jupyter
xuhao = ['one','two','three','four','five','six']
df = pd.DataFrame(np.random.randn(6,4), index=xuhao, columns=list('abcd'))
df

DataFrame——基于jupyter

1.2 查看

DataFrame——基于jupyter
对于一个较大的DataFrame,用head方法会返回前5行(注:这个函数在数据分析中经常使用,用来查看表格里有什么东西)
DataFrame——基于jupyter

; 1.3 取值

取一列 :

df['a']

DataFrame——基于jupyter
取多列:
df[['a','c']]

DataFrame——基于jupyter
df.loc['one']

DataFrame——基于jupyter
df.loc[['one','four']]

DataFrame——基于jupyter
df[0:1]

DataFrame——基于jupyter
取任意区域:
df.loc[['one','four'],'c']

DataFrame——基于jupyter
df.iloc[1:3,0:2]

DataFrame——基于jupyter
df.iloc[1:3,:]

DataFrame——基于jupyter
df.iloc[2,3]

DataFrame——基于jupyter

1.4 增、删、改

增加一列:


data['e'] = np.arange(4)
data['f'] = 100
data

DataFrame——基于jupyter
删除一列:
del data['f']
data

也可以用drop删除列:

data.drop('a',axis =1)

DataFrame——基于jupyter
在DataFrame中,数据对齐同时发生在行和列上:
df1 = pd.DataFrame(np.arange(9.).reshape((3, 3)), columns=list('bcd'),
                   index=['one', 'two', 'three'])
df2 = pd.DataFrame(np.arange(12.).reshape((4, 3)), columns=list('bde'),
                   index=['three', 'four', 'five', 'six'])
df1

DataFrame——基于jupyter
df2

DataFrame——基于jupyter
观察:df1和df2运算
df1+df2

DataFrame——基于jupyter
对齐:对应项都有时,对应项进行运算,否则结果为NaN 所有的项都会出结果

二、DataFrame数据排序与重新索引

2.1 排序

import pandas as pd
import numpy as np
data = pd.DataFrame(np.random.rand(9,6),columns = list('cdafbe'))
data

DataFrame——基于jupyter
按照index序号来排序:
data.sort_index(ascending =False)

DataFrame——基于jupyter
data.sort_index(axis =1)

DataFrame——基于jupyter
data.sort_values(by = 'c')

DataFrame——基于jupyter
data.sort_values(by = ['c','d'])

DataFrame——基于jupyter
data.sort_values(by = ['c'])

DataFrame——基于jupyter
按照指定的顺序进行排序:
data.reindex(['a','e','f','b','c','d'],axis =1)

DataFrame——基于jupyter
data.reindex(['a','e','f','b','c','d','d','r'],axis =1)

DataFrame——基于jupyter

三、 DataFrame数据的汇总方法

data = pd.DataFrame(np.random.randn(9,6),columns = list('abcdef'))
data

DataFrame——基于jupyter
data.head()

DataFrame——基于jupyter
data.tail()

DataFrame——基于jupyter
data.describe()

DataFrame——基于jupyter
data.sum()

DataFrame——基于jupyter
data.sum(1)

DataFrame——基于jupyter
求均值:
data.mean()

DataFrame——基于jupyter
data.idxmax()

DataFrame——基于jupyter
data.a[data.a.idxmax()]

DataFrame——基于jupyter
data = pd.DataFrame(np.random.randint(5,10,(5,6)),columns = list('abcdef'))
data

DataFrame——基于jupyter
寻找唯一值:
data.a.unique()

DataFrame——基于jupyter

元素值统计

data.a.value_counts()

DataFrame——基于jupyter
data = pd.DataFrame(np.random.randn(9,6),columns = list('abcdef'))
data

DataFrame——基于jupyter
data.pct_change()

DataFrame——基于jupyter
data.cumsum()

DataFrame——基于jupyter
data.corr()

DataFrame——基于jupyter

Original: https://blog.csdn.net/weixin_43808138/article/details/123191996
Author: zz神君
Title: DataFrame——基于jupyter

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

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

(0)

大家都在看

  • Scrapy08:scrapy-deltafetch,让爬虫有了记忆

    deltafetch,让爬虫有记忆 前言 “我化作人鱼,只有七秒钟的记忆”。 很多时候,爬虫程序跑着跑着,因为网络故障或者程序异常就宕掉了。无奈之下只能重启…

    Python 2023年10月3日
    045
  • Python 在Pycharm中连接 MySQL数据库

    1、View —- > Tool windows — > Database 2、DataSource —- > MySQL 3…

    Python 2023年5月24日
    076
  • Django对接支付宝Alipay支付接口

    最新文章更新见我的个人主页: https://xzajyjs.cn 我们在使用Django构建网站时常需要对接第三方支付平台的支付接口,这里就以支付宝为例(其他平台大同小异),使用…

    Python 2023年8月5日
    054
  • 2019hexo博客部署到coding该绕的坑-奥怪的小栈

    这篇文章适用于初次部署和部署到github后想双线部署到coding的朋友们,我将带你们绕过一些我踏过的坑。 前言 我一开始没打算将博客部署到coding上的,想着部署到githu…

    Python 2023年6月11日
    077
  • Java反应式编程(1)

    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~ 前面把Java函数式编程的由来和最主要的核心知识点讲完了。包括比较难懂的Lambda表达式是怎么演变而来的也全部都撸了一遍。…

    Python 2023年10月15日
    043
  • pandas合并Dataframe或Series操作——merge()函数_1

    在数据操作时,经常会遇到合并数据集的情况,使用merge()函数可以将Dataframe或Series快速合并 pd.merge()的主要参数 merge合并dataframe(s…

    Python 2023年8月6日
    067
  • 数据分析 — Pandas③

    目录 表格合并 * 纵向合并 横向合并 数据清洗 * 删除缺失数据行 数据填充 统一数据格式 去除重复数据 pandas 中很实用的方法——apply() 方法 附:匿名函数 表格…

    Python 2023年8月7日
    070
  • 【2022】保姆级Anaconda安装与换国内源教程

    一、Anaconda的安装 由于Anaconda官网在境外,为了提升下载速度,我们选择从北京外国语大学镜像站下载Anaconda的安装包。 截止到写作时,Anaconda3最新版本…

    Python 2023年8月1日
    096
  • Python之Cartopy地图绘图包的学习与使用

    🗺 🌏Cartopy地图绘图包—— “专为地理空间数据处理而设计,以生成地图和其他地理空间数据分析。”,是在PROJ、pyshp、shapely、GEOS等…

    Python 2023年8月3日
    081
  • pytest(一):基础功能(执行用例、allure报告、数据驱动)

    pytest是python语言中一款强大的单元测试框架,用来管理和组织测试用例,可应用在单元测试、自动化测试工作中。 官网:(https://docs.pytest.org/en/…

    Python 2023年9月13日
    0104
  • 设计模式(Python语言)—-工厂方法模式

    推荐文章 很多小伙伴都发现了,用户自主「申请上首页」的按钮取消了,那博主们写的文章还有上首页曝光的机会吗?我们的回答是”当然有!!!”虽然我们取消了上首页申…

    Python 2023年5月24日
    090
  • 记录一次因subprocess PIPE 引起的线上故障

    404. 抱歉,您访问的资源不存在。 可能是URL不正确,或者对应的内容已经被删除,或者处于隐私状态。 [En] It may be that the URL is incorre…

    Python 2023年5月25日
    065
  • vector

    1.定义和初始化 2.基本操作 1.索引访问 2.计算大小 3.front back 4.clear 清空 5.begin,end 返回迭代器(指针) 6.empty 判断是否为空…

    Python 2023年6月12日
    092
  • 爱了爱了,20个好用到爆的 Python 函数

    大家好,今天分享20个日常工作中必不可少的 Python函数,这些函数平时看到的不多,但是它们使用起来倒是非常的方便,它们可以大幅度地提高工作效率。 内容较长,欢迎收藏学习,喜欢点…

    Python 2023年8月16日
    047
  • pandas判断是否为空的赋值

    1.下面这种dataframe写法没有告警。批量赋值df.loc[order_pile[‘编号’].isna(),’编号’] = d…

    Python 2023年8月18日
    068
  • python人工智能教程——Pandas入门

    关于Pandas Pandas是基于Numpy实现的,其名字来源于两个词语——面板数据(panel data)和数据分析(data analysis)。Pandas最初被应用于金融…

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