首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Numpy和pandas的使用技巧

ndarray,它是一系列同类型数据的集合 1、创建数组,将序列传递给numpy的array()函数即可,从现有的数据创建数组,array(深拷贝),asarray(浅拷贝); 或者使用arange...np.random.randint(10,size=(3,3))创建指定范围(0,10)指定维度的一个整数 给定均值/标准差/维度的正态分布np.random.normal(1.75, 0.1, (2, 3)) 4、索引和查找...△ np.r_[] 按行上下连接两个矩阵 6、NumPy 数组操作 △ n.reshape(arr,newshape,order=)数组,新形状,"C"-按行、"F"-按列、"A"-原顺序、"k"-元素在内存中痴线顺序...中的矩阵合并 列合并/扩展:np.column_stack() 行合并/扩展:np.row_stack() numpy.ravel() 与numpy.flatten() numpy.flatten()返回一份拷贝...Shift选中需要合并的框,Shift+m #在代码块前增加新代码块,按a;在代码块后增加新代码块,按b; #删除代码块,按dd #运行当前代码块,Ctrl+Enter #运行当前代码块并选中下一个代码块

3.5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用Pandas和NumPy实现数据获取

    以某城市地铁数据为例,通过提取每个站三个月15分钟粒度的上下客量数据,展示Pandas和Numpy的案例应用。...# 导入模块 import os from pathlib import Path import pandas as pd import numpy as np 导入成功后,先获取目标文件夹下(data...= '合计': target_col.append(i) print(target_col) 获取车站名和车站编号: # 获取车站名和车站编号 nfile = pd.read_excel...;第二种为通过file.values将file转换为ndarray的数据格式,由于可以事先知道数据每一列的具体含义,直接通过整数下标的方式访问数据。...代码中使用的是第二种方式,这是由于DataFrame的iloc[]函数访问效率低,当数据体量很大时,遍历整个表格的速度会非常慢,而将DataFrame转换为ndarray后,遍历整个表格的数据效率会有显著提升

    7910

    Excel与pandas:使用applymap()创建复杂的计算列

    标签:Python与Excel,pandas 我们之前讨论了如何在pandas中创建计算列,并讲解了一些简单的示例。...通过将表达式赋值给一个新列(例如df['new column']=expression),可以在大多数情况下轻松创建计算列。然而,有时我们需要创建相当复杂的计算列,这就是本文要讲解的内容。...那么,在列中对每个学生进行循环?不!记住,我们永远不应该循环遍历pandas数据框架/系列,因为如果我们有一个大的数据集,这样做效率很低。...pandas applymap()方法 pandas提供了一种将自定义函数应用于列或整个数据框架的简单方法,就是.applymap()方法,这有点类似于map()函数的作用。...图3 我们仍然可以使用map()函数来转换分数等级,但是,需要在三列中的每一列上分别使用map(),而applymap()能够覆盖整个数据框架(多列)。

    3.9K10

    Pandas库的基础使用系列---获取行和列

    前言我们上篇文章简单的介绍了如何获取行和列的数据,今天我们一起来看看两个如何结合起来用。获取指定行和指定列的数据我们依然使用之前的数据。...我们先看看如何通过切片的方法获取指定列的所有行的数据info = df.loc[:, ["2021年", "2017年"]]我们注意到,行的位置我们使用类似python中的切片语法。...同样我们可以利用切片方法获取类似前4列这样的数据df.iloc[:, :4]由于我们没有指定行名称,所有指标这一列也计算在内了。...如果要使用索引的方式,要使用下面这段代码df.iloc[2, 2]是不是很简单,接下来我们再看看如何获取多行多列。为了更好的的演示,咱们这次指定索引列df = pd.read_excel(".....通常是建议这样获取的,因为从代码的可读性上更容易知道我们获取的是哪一行哪一列。当然我们也可以通过索引和切片的方式获取,只是可读性上没有这么好。

    63800

    1000+倍!超强Python『向量化』数据处理提速攻略

    作者:Cheever 编译:1+1=6 今天公众号给大家好好讲讲基于Pandas和NumPy,如何高速进行数据处理! 1 向量化 1000倍的速度听起来很夸张。Python并不以速度著称。...这是一个非常基本的条件逻辑,我们需要为lead status创建一个新列。 我们使用Pandas的优化循环函数apply(),但它对我们来说太慢了。...看下面的例子: numpy.where()它从我们的条件中创建一个布尔数组,并在条件为真或假时返回两个参数,它对每个元素都这样做。这对于在Dataframe中创建新列非常有用。...你可以使用.map()在向量化方法中执行相同的操作。 3、日期 有时你可能需要做一些日期计算(确保你的列已经转换为datetime对象)。这是一个计算周数的函数。...完成此计算的另一种更加Numpy向量化的方法是将Numpy数组转换为timedeltas,获得day值,然后除以7。这和最终结果是一样的,只是下面的那个代码更长。

    6.8K41

    五大方法添加条件列-python类比excel中的lookup

    阅读助手 构造测试数据 方法一:映射 apply |map + lambda 方法二:映射 apply + def 方法三:nupmy内置函数-np.where 方法四:nupmy内置函数-np.select...方法五:数据分箱pd.cut()——最类似于excel中的lookup 构造测试数据 import numpy as np import pandas as pd import random # 随机生成...,具体不在这讲了,今天讲一下用python怎么实现该功能,总共五种(三大类:映射+numpy+pandas分箱)方法,提前预告下,最后一种数据分箱是与excel 中的 lookup最像的 方法一:映射...# 方法三 np.where df5 = df.copy() # Numpy的内置where()函数。...这个函数依次接受三个参数:条件;如果条件为真,分配给新列的值;如果条件为假,分配给新列的值 # np.where(condition, value if condition is true, value

    1.9K20

    Python-科学计算-pandas-19-df分组上中下旬

    系统:Windows 10 语言版本:conda 4.4.10 编辑器:JetBrains PyCharm Community Edition 2018.2.2 x64 pandas:0.22.0 这个系列讲讲...Python的科学计算及可视化 今天讲讲pandas模块 按照时间列,得出每行属于上中下旬,进而对df进行分组 Part 1:场景描述 ?...新生成time1列,该列是time列对应的日期格式数据 生成一个新列flag,为time1列对应的具体几号(取值范围1-31) 对flag进行判断,将结果写入xun列 根据xun列进行过滤,获取对应数据...import pandas as pd import numpy as np # 显示所有列 pd.set_option('display.max_columns', None) # 显示所有行 pd.set_option..."中旬", np.where(df["flag"] <= 10, "上旬", "下旬")),两重判断 np.where(条件,满足条件结果,不满足条件结果) 支持嵌套,有点VBA公式的感觉 对flag列的每个元素进行计算

    94420

    Pandas进阶修炼120题|当Pandas遇上NumPy

    本文接着更新Pandas进阶修炼120题,Pandas的强大不仅仅因为它自身的强大,更在于当它和NumPy、Matplotlib、Sklearn等库结合使用时发挥的巨大威力,本期就挑选了一些Pandas...81 数据查看 题目:导入并查看pandas与numpy版本 难度:⭐ 答案 import pandas as pd import numpy as np print(np....))) np.where(tem == -2)[0] + 1 96 数据计算 题目:按行计算df的每一行均值 难度:⭐⭐ 答案 df[['col1','col2','col3']].mean(axis=...1) 97 数据计算 题目:对第二列计算移动平均值 难度:⭐⭐⭐ 备注 每次移动三个位置,不可以使用自定义函数 答案 np.convolve(df['col2'], np.ones(3)/3, mode...的数字修改为'高' 难度:⭐⭐ 答案 df.col1[df['col1'] > 50]= '高' 100 数据计算 题目:计算第一列与第二列之间的欧式距离 难度:⭐⭐⭐ 备注 不可以使用自定义函数 答案

    99320

    使用Pandas实现1-6列分别和第0列比大小得较小值

    一、前言 前几天在Python白银交流群【星辰】问了一个pandas处理Excel数据的问题,提问截图如下: 下图是他的原始代码截图: 二、实现过程 其实他这个代码,已经算实现了,如果分别进行定义的话...,每一列做一个变量接收,也是可以实现效果的,速度上虽然慢一些,但是确实可行。...for i in range(1, 4): df[f'min{i}'] = df[['标准数据', f'测试{i}']].min(axis=1) print(df) 看上去确实是实现了多列比较的效果...当然这里取巧了,使用了字符串格式化。 三、总结 大家好,我是皮皮。这篇文章主要盘点了一个Pandas处理的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。...最后感谢粉丝【星辰】提问,感谢【dcpeng】给出的思路和代码解析,感谢【Jun】、【瑜亮老师】等人参与学习交流。

    1.2K20

    懂Excel轻松入门Python数据分析包pandas(二十七):按条件选择,就是这么简单

    后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas numpy.where 方法 Excel 函数中有一个初学者都能马上学会的函数——IF 函数,而在 pandas...由于需要使用 numpy 的方法,因此代码的开始需要导入 numpy 包: import pandas as pd import numpy as np ---- 场景 如下学生成绩表: 高于等于...时的返回,第三参数是当第一条件为 false 时的返回 在使用 numpy.where 方法时的逻辑与上述 Excel 的 IF 函数一致: df = pd.read_excel('data.xlsx...', 'sp1') df['res'] = np.where(df.成绩>=60,'是','否') df 行2:np.where 各个参数都能接受 pandas 的列(Series) ---- 性能优越...numpy 或 pandas 内置方法,会差上几十上百倍 ---- 总结 本文重点: numpy.where 函数的使用方式与 Excel 的 IF 函数一致

    79230

    panda python_12个很棒的Pandas和NumPy函数,让分析事半功倍

    参考链接: Python | 使用Panda合并,联接和连接DataFrame 本文转载自公众号“读芯术”(ID:AI_Discovery)  大家都知道Pandas和NumPy函数很棒,它们在日常分析中起着重要的作用...从NumPy开始:  NumPy是使用Python进行科学计算的基本软件包。...Pandas非常适合许多不同类型的数据:  具有异构类型列的表格数据,例如在SQL表或Excel电子表格中  有序和无序(不一定是固定频率)的时间序列数据。  ...具有行和列标签的任意矩阵数据(同类型或异类)  观察/统计数据集的任何其他形式。实际上,数据根本不需要标记,即可放入Pandas数据结构。  ...以下是Pandas的优势:  轻松处理浮点数据和非浮点数据中的缺失数据(表示为NaN)  大小可变性:可以从DataFrame和更高维的对象中插入和删除列  自动和显式的数据对齐:在计算中,可以将对象显式对齐到一组标签

    5.1K00

    Pandas 数据类型概述与转换实战

    本文将讨论基本的 pandas 数据类型(又名 dtypes ),它们如何映射到 python 和 numpy 数据类型,以及从一种 pandas 类型转换为另一种的方法 Pandas 数据类型 数据类型本质上是编程语言用来理解如何存储和操作数据的内部结构...或者有两个字符串,如“cat”和“hat”,可以将它们连接(加)在一起得到“cathat” 关于 pandas 数据类型的一个可能令人困惑的地方是 pandas、python 和 numpy 之间存在一些出入...因此,我们可能需要一些额外的技术来处理object列中的混合数据类型,我们也在后面的文章专门讨论 下面我们先来查看本文使用的测试数据 import numpy as np import pandas as...).astype('float') 接下来处理 Active 列,自定义函数需要使用 np.where()。...这两者都可以简单地使用内置的 pandas 函数进行转换,例如 pd.to_numeric() 和 pd.to_datetime() Jan Units 转换存在问题的原因是列中包含非数字值。

    2.5K20

    使用Pandas&NumPy进行数据清洗的6大常用方法

    在这个教程中,我们将利用Python的Pandas和Numpy包来进行数据清洗。...学习之前假设你已经有了对Pandas和Numpy库的基本认识,包括Pandas的工作基础Series和DataFrame对象,应用到这些对象上的常用方法,以及熟悉了NumPy的NaN值。...改变DataFrame的索引 Pandas索引index扩展了Numpy数组的功能,以允许更多多样化的切分和标记。在很多情况下,使用唯一的值作为索引值识别数据字段是非常有帮助的。...为了清洗Place of Publication字段,我们可以结合pandas的str方法和numpy的np.where函数配合完成。...你现在应该有了一个如何使用pandas和numpy进行数据清洗的基本理解了。 (adsbygoogle = window.adsbygoogle || []).push({});

    3.5K10

    完整图解:特征工程最常用的四个业务场景演示

    主要使用的函数有,np.vstack, np.hstack, np.where, df.loc, heapq.nlargest。这几个方法的应用已经基本上满足矩阵处理的大部分需求。...不仅可以水平拼接,numpy也提供了垂直拼接。这个函数经常用于,数据集扩充的时候,使用数组循环遍历一条条的加载到数据集比较麻烦,使用numpy提供的vstack方法会很方便的拼接到一起。...思路应该是: 定位label==4的分别在第几行,或者说index等于多少,获取这样一列数组 根据得到的index数据,分别从matrix中取出。...import pandas as pd df=pd.DataFrame(trains) results=df.loc[np.where(trains[:,-1]==4)] pandas中的loc接口,可以根据给定的行索引直接获取行数据...list1={"numpy":8,"pandas":7,"python":6} sorted(list1.items(),key=lambda item:item[1])[-2:] ?

    1.1K20
    领券