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

Python数据分析之pandas基本数据结构

如下所示,我们通过字典创建了一个Series数组,输出结果的第一列就是索引,第二列就是数组的具体值。...3.2 创建DataFrame数组 (1)通过字典创建 通过字典来创建DataFrame数组时,字典的键将会自动成DataFrame数组的列名,字典的值必须是可迭代对象,例如Series、numpy数组...、list、tuple等,不同Series数组中对应的缺失值pandas将自动填充NaN: 以list列表为值的字典: >>> d = {'one': [1, 2, 3, 4], 'two':['一',...a 1.0 NaN (2)通过列表创建 通过列表创建DataFrame数组时,列表的每一个元素必须是字典,这样,字典的键将作为列名。...6]} >>> pd.DataFrame.from_dict(d) A B 0 1 4 1 2 5 2 3 6 如果需要让字典的键作为索引,重新指定列名,可以传入orient='index'参数,然后重新传入列名

1.2K10

groupby函数详解

()的常见用法 函数 适用场景 备注 df.groupby(‘key1’) 一列聚合 分组键为列名(可以是字符串、数字或其他Python对象) df.groupby([‘key1’,‘key2’]) 多列聚合...1 groupby()核心用法 (1)根据DataFrame本身的某一列或多列内容进行分组聚合,(a)若按某一列聚合,则新DataFrame将根据某一列的内容分为不同的维度进行拆解,同时将同一维度的再进行聚合...,(b)若按某多列聚合,则新DataFrame将是多列之间维度的笛卡尔积,即:新DataFrame具有一个层次化索引(由唯一的键对组成),例如:“key1”列,有a和b两个维度,而“key2”有one和...本身的某一列或多列内容进行分组聚合 #创建原始数据集 import pandas as pd import numpy as np df=pd.DataFrame({ 'key1':['a',...、自定义列表、自定义Series、函数或者函数与自定义数组、列表、字典、Series的组合,作为分组键进行聚合 #创建原始数据集 people=pd.DataFrame(np.random.randn(

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

    【数据处理包Pandas】DataFrame的创建

    一、DataFrame简介   DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。...(一)按列排列 按列排列,需要基于字典构建:字典的键对应列名,字典的值可以是一列表、一维Numpy数组、Series 对象,或者字典都行。...此时,只要一列存在行索引,则该行索引被共享(例如 english 的索引);如果各列都没有行索引,则用整数作为隐含索引。...':97}}) 小结:只要外层是字典,则外层字典的键一定是作为DataFrame对象的列标签。...内层如果是字典或 Series 对象(也可以看成是字典),则内层字典的键将作为作为DataFrame对象的行标签。

    6600

    pandas库的简单介绍(2)

    3、 DataFrame数据结构 DataFrame表示的是矩阵数据表,每一列可以是不同的值类型(数值、字符串、布尔值等)。...DataFrame既包含行索引,也包含列索引,可以视为多个Series集合而成,是一个非常常用的数据结构。...3.1 DataFrame的构建 DataFrame有多种构建方式,最常见的是利用等长度的列表或字典构建(例如从excel或txt中读取文件就是DataFrame类型)。...另外一个构建的方式是字典嵌套字典构造DataFrame数据;嵌套字典赋给DataFrame,pandas会把字典的键作为列,内部字典的键作为索引。...(*2)指定列顺序和索引列、删除、增加列 指定列的顺序可以在声明DataFrame时就指定,通过添加columns参数指定列顺序,通过添加index参数指定以哪个列作为索引;移除列可以用del frame

    2.4K10

    (数据科学学习手札06)Python在数据框操作上的总结(初级篇)

    pd.DataFrame()中的常用参数: data:可接受numpy中的ndarray,标准的字典,dataframe,其中,字典的值可以为Series,arrays,常数或列表 index:数据框行的索引值...'inner' on:两个数据框共同拥有的一列,作为连接键;若不传参数,且left_index与right_index都等于False,则自动识别两个数据框同名的列作为联结键 left_index:为...True时,以左侧数据框的行标签作为联结键 right_index:为True时,以右侧数据框的行标签作为联结键 sort:为True时,在合并之后以联结键为排序依据进行排序 suffixes:一个元组...,储存对两个数据框中重复非联结键列进行重命名的后缀,默认为('_x','_y') indicator:是否生成一列新值_merge,来为合并后的每行标记其中的数据来源,有left_only,right_only...;'outer'表示以两个数据框联结键列的并作为新数据框的行数依据,缺失则填充缺省值  lsuffix:对左侧数据框重复列重命名的后缀名 rsuffix:对右侧数据框重复列重命名的后缀名 sort:表示是否以联结键所在列为排序依据对合并后的数据框进行排序

    14.3K51

    详解pd.DataFrame中的几种索引变换

    list而言,最大的便利之处在于其提供了索引,DataFrame中还有列标签名,这些都使得在操作一行或一列数据中非常方便,包括在数据访问、数据处理转换等。...,当原DataFrame中存在该索引时则提取相应行或列,否则赋值为空或填充指定值。...),可接收字典或函数完成单列数据的变换;apply既可用于一列(即Series)也可用于多列(即DataFrame),但仅可接收函数作为参数,当作用于Series时对每个元素进行变换,作用于DataFrame...时对其中的每一行或每一列进行变换;而applymap则仅可作用于DataFrame,且作用对象是对DataFrame中的每个元素进行变换。...用于复位索引——将索引加入到数据中作为一列或直接丢弃,可选drop参数。

    2.5K20

    python数据分析笔记——数据加载与整理

    2、当文件没有标题行时 可以让pandas为其自动分配默认的列名。 也可以自己定义列名。 3、将某一列作为索引,比如使用message列做索引。通过index_col参数指定’message’。...5、文本中缺失值处理,缺失数据要么是没有(空字符串),要么是用某个标记值表示的,默认情况下,pandas会用一组经常出现的标记值进行识别,如NA、NULL等。查找出结果以NAN显示。...2、索引上的合并 (1)普通索引的合并 Left_index表示将左侧的行索引引用做其连接键 right_index表示将右侧的行索引引用做其连接键 上面两个用于DataFrame中的连接键位于其索引中...一对一替换:用np.nan替换-999 多对一替换:用np.nan替换-999和-1000. 多对多替换:用np.nan代替-999,0代替-1000. 也可以使用字典的形式来进行替换。...默认情况下,此方法是对所有的列进行重复项清理操作,也可以用来指定特定的一列或多列进行。 默认情况下,上述方法保留的是第一个出现的值组合,传入take_last=true则保留最后一个。

    6.1K80

    Pandas-DataFrame基础知识点总结

    1、DataFrame的创建 DataFrame是一种表格型数据结构,它含有一组有序的列,每列可以是不同的值。...DataFrame,此时外层字典的键作为列,内层键则作为索引: pop = {'Nevada':{2001:2.4,2002:2.9},'Ohio':{2000:1.5,2001:1.7,2002:3.6...该方法中几个重要的参数如下所示: 参数 描述 header 默认第一行为columns,如果指定header=None,则表明没有索引行,第一行就是数据 index_col 默认作为索引的为第一列,可以设为...2、DataFrame轴的概念 在DataFrame的处理中经常会遇到轴的概念,这里先给大家一个直观的印象,我们所说的axis=0即表示沿着每一列或行标签\索引值向下执行方法,axis=1即表示沿着每一行或者列标签模向执行对应的方法...也可以按照值进行排序: #按照任意一列或多列进行排序 frame.sort_values(by=['a','b']) #输出 d a b c three 0 1 2

    4.3K50

    数据分组

    1.分组键是列名 分组键是列名时直接将某一列或多列的列名传给 groupby() 方法,groupby() 方法就会按照这一列或多列进行分组。...参数: ①分组键是列名: 单个列名直接写(按一列进行分组),多个列名以列表的形式传入(这就是按多列进行分 组)。...df.groupby(["客户分类","区域"]).sum() #只会对数据类型为数值(int,float)的列才会进行运算 无论分组键是一列还是多列,只要直接在分组后的数据进行汇总运算,就是对所有可以计算的列进行计算...df.groupby("客户分类")["7月销量"].sum() ---- 2.分组键是Series 把DataFrame的其中一列取出来就是一个Series ,如df["客户分类"]。...② 针对不同的列做不同的汇总运算:字典形式,*键名*是*列名*,*键值*是*汇总方式*字符串形式。 返回值: 一个DataFrame对象。

    4.5K11

    Pandas全景透视:解锁数据科学的黄金钥匙

    DataFrame的一列就是Series,Series可以转化为DataFrame,调用方法函数to_frame()即可 Series 是 pandas 中的一种数据结构,可以看作是带有标签的一维数组。...定义了填充空值的方法, pad / ffill表示用前面行/列的值,填充当前行/列的空值; backfill / bfill表示用后面行/列的值,填充当前行/列的空值。axis:轴。...如果method被指定,对于连续的空值,这段连续区域,最多填充前 limit 个空值(如果存在多段连续区域,每段最多填充前 limit 个空值)。...DataFrame或Series,一左一右how:两个数据连接方式,默认为inner,可设置inner、outer、left或righton:作为连接键的字段,左右数据中都必须存在,否则需要用left_on...和right_on来指定left_on:左表的连接键字段right_on:右表的连接键字段left_index:为True时将左表的索引作为连接键,默认为Falseright_index:为True时将右表的索引作为连接键

    11710

    数据分析之pandas模块

    5,数据清洗   主要用isnull()判断值是否为空,notnull()判断值是否不为空,返回的都是值为bool型的Series,然后把它作为索引,就可以把为False的值给删除。 ?   ...二、DataFrame   DataFrame是一个表格型的数据结构,DataFrame由一定顺序排列的多列数据组成,设计初衷是将Series的使用场景从一维拓展到多维,DataFrame既有行索引index...1,DataFrame的创建   最常用的方法是传递一个字典,以字典的key为列索引,以每一个key对应的值作为对应列的数据,所以值应该是个列表。还可以指定行索引,但不可以指定列索引。 ?   ...4,数据清洗   4.1 用isnull(),notnull(),any(),all()搭配使用,得到一组bool值的Series,然后把它作为索引,就可以清洗为False的行 ?   ...在使用merge时,会自动根据两者相同的columns,来合并 每一列元素不要求一致 参数: how:out取并集,inner取交集 on:当两者有多列的名字相同时,我们想指定某一列进行合并,那我们就要把想指定列的名字赋给它

    1.2K20

    python数据科学系列:pandas入门详细教程

    、切片访问、通函数、广播机制等 series是带标签的一维数组,所以还可以看做是类字典结构:标签是key,取值是value;而dataframe则可以看做是嵌套字典结构,其中列名是key,每一列的series...自然毫无悬念 dataframe:无法访问单个元素,只能返回一列、多列或多行:单值或多值(多个列名组成的列表)访问时按列进行查询,单值访问不存在列名歧义时还可直接用属性符号" ....;sort_values是按值排序,如果是dataframe对象,也可通过axis参数设置排序方向是行还是列,同时根据by参数传入指定的行或者列,可传入多行或多列并分别设置升序降序参数,非常灵活。...groupby,类比SQL中的group by功能,即按某一列或多列执行分组。...例如,以某列取值为重整后行标签,以另一列取值作为重整后的列标签,以其他列取值作为填充value,即实现了数据表的行列重整。

    15K20

    Pandas | 数据结构

    DataFrame 4.1 根据多个字典序列创建dataframe 5. 从DataFrame中查询出Series 5.1 查询一列 5.2 查询多列 5.3 查询一行 5.4 查询多行 1....数据结构简介 Pandas提供Series和DataFrame作为数组数据的存储框架。...DataFrame:代表整个表格对象,是一个二维的数据,有多行和多列; Series:每一列或者每一行都是一个Series,他是一个一维的数据(图中红框)。 2....DataFrame DataFrame是一个表格型的数据结构; 每列可以是不同的值类型(数值、字符串、布尔值等) 既有行索引index,也有列索引columns,可以被看做由Series组成的字典。...从DataFrame中查询出Series 如果只查询一行、一列,返回的是pd.Series; 如果查询多行、多列,返回的是pd.DataFrame。

    1.6K30

    Python库介绍15 DataFrame

    DataFrame是pandas库中另一个重要的数据结构,它提供了类似于excel的二维数据结构使用pandas.DataFrame()函数可以创建一个DataFrame数据类型【用数组创建DataFrame...(a)df我们首先使用random.uniform生成了一个5*3的矩阵a,它的每个元素是0~150的随机数然后用DataFrame()函数把矩阵a转换为DataFrame类型可以看到,在jupyter...中,dataframe的显示非常直观,上面第一行是它的列索引(默认为0,1,2)左边第一列是它的行索引(默认为0,1,2,3,4)中间的区域是我们的数据DataFrame跟series类似,可以使用index...参数手动设置行索引此外,还可以使用columns参数设置列索引import pandas as pdimport numpy as npa=np.random.uniform(0,150,size=(5,3...(a,index=line,columns=columns)df【用字典创建DataFrame】pandas还支持字典创建DataFrame字典的键(key)将作为列索引,值(value)将作为一个个数据

    14710

    python数据分析——数据分类汇总与统计

    1.1按列分组 按列分组分为以下三种模式: 第一种: df.groupby(col),返回一个按列进行分组的groupby对象; 第二种: df.groupby([col1,col2]),返回一个按多列进行分组的...dfg = df.groupby(['key1','key2']) print(list(dfg)) #分成a one a two b one b two 四组 【例3】采用groupby函数针对某一列的值进行分组...如果传入一组函数或函数名,得到的DataFrame的列就会以相应的函数命名。...具体的办法是向agg传入一个从列名映射到函数的字典: 只有将多个函数应用到至少一列时,DataFrame才会拥有层次化的列 2.3.返回不含行索引的聚合数据 到目前为止,所有例中的聚合数据都有由唯一的分组键组成的索引...; index=用于分组的列名或其他分组键,出现在结果透视表的行; columns =用于分组的列名或其他分组键,出现在结果透视表的列; values = 待聚合的列的名称,默认聚合所有数值列;

    82610

    【Python】数据评估

    对于DataFrame对象,可以使用DataFrame[列名].isnull()来判断具体某一列的每一项是否有空缺值。 7....对于DataFrame对象,可以使用print(DataFrame[DataFrame[列名].isnull()])来找到某一列存在缺失值的行。 9....如果原始数据的第一行(列名)和第一列(索引)存在问题,那么就可以使用rename(index={})方法和rename(columns={})方法,字典里面的键是原始值,字典里面的值是修改后的值。...而reset_index()方法可以把当前索引作为一列的列名,然后使用位置索引,并返回一个新的图表。...如果缺失值较多,那么可以使用fillna()方法,会把缺失值替换成传入的参数;当往fillna()中传入的是字典时,可以同时替换不同列的缺失值。 3.

    7700
    领券