如下所示,我们通过字典创建了一个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'参数,然后重新传入列名
()的常见用法 函数 适用场景 备注 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(
一、DataFrame简介 DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。...(一)按列排列 按列排列,需要基于字典构建:字典的键对应列名,字典的值可以是一列表、一维Numpy数组、Series 对象,或者字典都行。...此时,只要一列存在行索引,则该行索引被共享(例如 english 的索引);如果各列都没有行索引,则用整数作为隐含索引。...':97}}) 小结:只要外层是字典,则外层字典的键一定是作为DataFrame对象的列标签。...内层如果是字典或 Series 对象(也可以看成是字典),则内层字典的键将作为作为DataFrame对象的行标签。
key value index1 A 1 index2 B 2 index3 C 3 2.4 从字典列表 字典组成的列表可以创建DataFrame,字典键默认为列名...如果字典键不统一,列是它们的并集,并用NaN填充缺失的值。...可以指定行索引和列索引,但是如果指定了字典键以外的列索引,会被置为NaN print(pd.DataFrame(data, index=['index1', 'index2'])) print(pd.DataFrame...DataFrame Series组成的字典可以作为参数来创建DataFrame。...DataFrame的数据处理 3.1列的处理 以2.5中创建的DataFrame为例: 读取一列 df = pd.DataFrame(d) print(df["one"]) 结果: a 1.0
3、 DataFrame数据结构 DataFrame表示的是矩阵数据表,每一列可以是不同的值类型(数值、字符串、布尔值等)。...DataFrame既包含行索引,也包含列索引,可以视为多个Series集合而成,是一个非常常用的数据结构。...3.1 DataFrame的构建 DataFrame有多种构建方式,最常见的是利用等长度的列表或字典构建(例如从excel或txt中读取文件就是DataFrame类型)。...另外一个构建的方式是字典嵌套字典构造DataFrame数据;嵌套字典赋给DataFrame,pandas会把字典的键作为列,内部字典的键作为索引。...(*2)指定列顺序和索引列、删除、增加列 指定列的顺序可以在声明DataFrame时就指定,通过添加columns参数指定列顺序,通过添加index参数指定以哪个列作为索引;移除列可以用del frame
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:表示是否以联结键所在列为排序依据对合并后的数据框进行排序
list而言,最大的便利之处在于其提供了索引,DataFrame中还有列标签名,这些都使得在操作一行或一列数据中非常方便,包括在数据访问、数据处理转换等。...,当原DataFrame中存在该索引时则提取相应行或列,否则赋值为空或填充指定值。...),可接收字典或函数完成单列数据的变换;apply既可用于一列(即Series)也可用于多列(即DataFrame),但仅可接收函数作为参数,当作用于Series时对每个元素进行变换,作用于DataFrame...时对其中的每一行或每一列进行变换;而applymap则仅可作用于DataFrame,且作用对象是对DataFrame中的每个元素进行变换。...用于复位索引——将索引加入到数据中作为一列或直接丢弃,可选drop参数。
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则保留最后一个。
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
1.分组键是列名 分组键是列名时直接将某一列或多列的列名传给 groupby() 方法,groupby() 方法就会按照这一列或多列进行分组。...参数: ①分组键是列名: 单个列名直接写(按一列进行分组),多个列名以列表的形式传入(这就是按多列进行分 组)。...df.groupby(["客户分类","区域"]).sum() #只会对数据类型为数值(int,float)的列才会进行运算 无论分组键是一列还是多列,只要直接在分组后的数据进行汇总运算,就是对所有可以计算的列进行计算...df.groupby("客户分类")["7月销量"].sum() ---- 2.分组键是Series 把DataFrame的其中一列取出来就是一个Series ,如df["客户分类"]。...② 针对不同的列做不同的汇总运算:字典形式,*键名*是*列名*,*键值*是*汇总方式*字符串形式。 返回值: 一个DataFrame对象。
value_counts(), 返回各个不同的元素,并计算元素在Series中的个数。 isin(), 用来判断所属关系,判断给定的一列元素是否包含在Series数据结构中。isin()返回布尔值。...['new']=[23,45,67] 修改某一列的值类似。...frame(frame.isin([1,'pen']))得到一个新的DataFrame,包含满足条件的值,其他值为NaN....删除一列: del frame['new'] 筛选: frame[frame>4],大于4的值返回,其他值为空。...转置:frame.T 用嵌套字典生成DataFrame对象,pandas会将外部的键当作列名称,将内部的键当作index索引。
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时将右表的索引作为连接键
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:当两者有多列的名字相同时,我们想指定某一列进行合并,那我们就要把想指定列的名字赋给它
叫它表格型数据结构是因为,DataFrame 的数据形式和 Excel 的数据存储形式相近,既有行索引,又有列索引,由行索引和列索引确定唯一值。 2.为什么? 3.怎么做?...(1)创建一个 DataFrame 1)传入一个列表list: 只传入一个单一列表时,该列表的值会显示成一列,且行和列都是从0开始的默认索引。...,嵌套列表中元素个数显示成多列数据。...,行、列索引都是从0开始的默认值。...行','3行']) df5 4)传入一个字典dict: 直接以字典传入DataFrame时,字典的key值就相当于列索引,若未设置行索引,默认从0开始索引。
、切片访问、通函数、广播机制等 series是带标签的一维数组,所以还可以看做是类字典结构:标签是key,取值是value;而dataframe则可以看做是嵌套字典结构,其中列名是key,每一列的series...自然毫无悬念 dataframe:无法访问单个元素,只能返回一列、多列或多行:单值或多值(多个列名组成的列表)访问时按列进行查询,单值访问不存在列名歧义时还可直接用属性符号" ....;sort_values是按值排序,如果是dataframe对象,也可通过axis参数设置排序方向是行还是列,同时根据by参数传入指定的行或者列,可传入多行或多列并分别设置升序降序参数,非常灵活。...groupby,类比SQL中的group by功能,即按某一列或多列执行分组。...例如,以某列取值为重整后行标签,以另一列取值作为重整后的列标签,以其他列取值作为填充value,即实现了数据表的行列重整。
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。
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)将作为一个个数据
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 = 待聚合的列的名称,默认聚合所有数值列;
对于DataFrame对象,可以使用DataFrame[列名].isnull()来判断具体某一列的每一项是否有空缺值。 7....对于DataFrame对象,可以使用print(DataFrame[DataFrame[列名].isnull()])来找到某一列存在缺失值的行。 9....如果原始数据的第一行(列名)和第一列(索引)存在问题,那么就可以使用rename(index={})方法和rename(columns={})方法,字典里面的键是原始值,字典里面的值是修改后的值。...而reset_index()方法可以把当前索引作为一列的列名,然后使用位置索引,并返回一个新的图表。...如果缺失值较多,那么可以使用fillna()方法,会把缺失值替换成传入的参数;当往fillna()中传入的是字典时,可以同时替换不同列的缺失值。 3.
Series 使用字典(dict)作为数据时,如果没有指定索引,则按排序顺序取得字典键以构造索引。...DataFrame 使用字典列表作为数据创建DataFrame时,默认使用range(len(list))作为index,字典键的集合作为columns,如果字典没有相应键值对,其值使用NaN填充。...DataFrame 使用Series字典作为数据创建DataFrame时,得到的DataFrame的index是所有Series的index的并集,字典键的集合作为columns。...列操作 通过字典键可以进行列选择,获取DataFrame中的一列数据。...增加相应的键和Series值,可以为DataFrame增加一列。
领取专属 10元无门槛券
手把手带您无忧上云