4 pandas基本功能 4.1 重建索引(见上一篇文章) 4.2 数据选择 pandas的数据选择是十分重要的一个操作,它的操作与数组类似,但是pandas的数据选择与数组不同。...数据选择的方法:1、直接选择;2、使用loc选择数据;3、使用iloc选择数据。 直接选择中,frame[[列名,列名]]表示选择列,frame[:3]表示选择行。...loc是根据轴标签进行选择,frame[行标签1,[列名,列名]]。 iloc是根据整数标签进行选择,frame[:1,[1,2]]选择第一行的第一、二列。...DataFrame中选择单列或多列或行(整数表示选择行) df.loc[val] 根据标签选择单行或多行 df.loc[:, val] 根据标签选择单列或多列 df.loc[val1, val2] 根据标签同时选中行和列的一部分...df.iloc[where] 根据整数选择一行或多行 df.iloc[:, where] 根据整数选择一列或多列 df.iloc[where_i, where_i] 根据整数选择行和列 df.at[label_i
,仅支持一维和二维数据,但数据内部可以是异构数据,仅要求同列数据类型一致即可 numpy的数据结构仅支持数字索引,而pandas数据结构则同时支持数字索引和标签索引 从功能定位上看: numpy虽然也支持字符串等其他数据类型...自然毫无悬念 dataframe:无法访问单个元素,只能返回一列、多列或多行:单值或多值(多个列名组成的列表)访问时按列进行查询,单值访问不存在列名歧义时还可直接用属性符号" ....isin/notin,条件范围查询,即根据特定列值是否存在于指定列表返回相应的结果 where,仍然是执行条件查询,但会返回全部结果,只是将不满足匹配条件的结果赋值为NaN或其他指定值,可用于筛选或屏蔽值...,要求每个df内部列名是唯一的,但两个df间可以重复,毕竟有相同列才有拼接的实际意义) merge,完全类似于SQL中的join语法,仅支持横向拼接,通过设置连接字段,实现对同一记录的不同列信息连接,支持...不过,pandas绘图中仅集成了常用的图表接口,更多复杂的绘图需求往往还需依赖matplotlib或者其他可视化库。
[df['a']>30] # 如果想筛选a列的取值大于30的记录,但是之显示满足条件的b,c列的值可以这么写 df[['b','c']][df['a']>30] # 使用isin函数根据特定值筛选记录。...筛选a值等于30或者54的记录 df[df.a.isin([30, 54])] (2)多条件筛选 可以使用&(并)与| (或)操作符或者特定的函数实现多条件筛选 # 使用&筛选a列的取值大于30,b...切片操作 df[行索引,列索引]或df[[列名1,列名2]] #使用切片操作选择特定的行 df[1:4] #传入列名选择特定的列 df[['a','c']] b. loc函数 当每列已有column...c 1 6 10 3 18 22 5 30 34 e. at函数 根据指定行index及列label,快速定位DataFrame的元素,选择列时仅支持列名。...(df.loc[df['Part Number'].astype(int).isin(li),:]) #行中的值匹配某个模式 print(df[df['Invoice Number'].str.startswith
“定位条件”在“开始”目录下的“查找和选择”目录中。 查看空值 Isnull 是 Python 中检验空值的函数,返回的结果是逻辑值,包含空值返回 True,不包含则返回 False。...1#使用数字 0 填充数据表中空值 2df.fillna(value=0) 我们选择填充的方式来处理空值,使用 price 列的均值来填充 NA 字段,同样使用 fillna 函数,在要填充的数值中使用...1#其他数据表匹配模式 2df_left=pd.merge(df,df1,how='left') 3df_right=pd.merge(df,df1,how='right') 4df_outer=...1#对 category 字段的值依次进行分列,并创建数据表,索引值为 df_inner 的索引列,列名称为 category 和 size 2pd.DataFrame((x.split('-') for...下面代码中行的位置按索引日期设置,列按位置设置。
可以是列名,索引级名称,也可以是长度等于DataFrame长度的数组。 right_on: 左侧DataFrame中的列或索引级别用作键。...对于具有MultiIndex(分层)的DataFrame,级别数必须与右侧DataFrame中的连接键数相匹配。 right_index: 与left_index功能相似。...outer’取并集,出现的A会进行一一匹配,没有同时出现的会将缺失的部分添加缺失值。 sort: 按字典顺序通过连接键对结果DataFrame进行排序。..._merge是分类类型,并且对于其合并键仅出现在“左”DataFrame中的观察值,取得值为left_only,对于其合并键仅出现在“右”DataFrame中的观察值为right_only,并且如果在两者中都找到观察点的合并键...(df1,df2,how='inner') 如果是用 how=’inner’,是取交集 则可以看到【2019010 鸠摩智】与【2019011 丁春秋】两个数据丢失了 vlookup_data=
可以是列名,索引级名称,也可以是长度等于DataFrame长度的数组。 right_on: 左侧DataFrame中的列或索引级别用作键。...可以是列名,索引级名称,也可以是长度等于DataFrame长度的数组。 left_index: 如果为True,则使用左侧DataFrame中的索引(行标签)作为其连接键。...对于具有MultiIndex(分层)的DataFrame,级别数必须与右侧DataFrame中的连接键数相匹配。 right_index: 与left_index功能相似。...outer’取并集,出现的A会进行一一匹配,没有同时出现的会将缺失的部分添加缺失值。 sort: 按字典顺序通过连接键对结果DataFrame进行排序。..._merge是分类类型,并且对于其合并键仅出现在“左”DataFrame中的观察值,取得值为left_only,对于其合并键仅出现在“右”DataFrame中的观察值为right_only,并且如果在两者中都找到观察点的合并键
self.tableWidget.selectRow(0) 方法可以选择指定行。 self.tableWidget.selectColumn(0) 方法可以选择指定列。...' 作用:双击事件监听,显示被选中的单元格 ''' # 打印被选中的单元格 for i in self.tableWidget.selectedItems():...self.select_col2) self.radioButton_4.clicked.connect(self.select_col3) def select_col0(self): ''' 作用:选择指定列...''' self.tableWidget.selectColumn(0) def select_col1(self): ''' 作用:选择指定列 '...'' self.tableWidget.selectColumn(1) def select_col2(self): ''' 作用:选择指定列 '''
,用半角逗号(’,’)作为字段值的分隔符。...name:表示数据读进来之后的数据列的列名 4.文本文件的存储 文本文件的存储和读取类似,结构化数据可以通过pandas中的to_csv函数实现以CSV文件格式存储文件。...左侧DataFrame中用于连接键的列 right_on 右侧DataFrame中用于连接键的列 left_index 左侧DataFrame中行索引作为连接键 right_index 右侧DataFrame...通过how参数可以选择连接方法:左连接(left),右连接(right)和外连接(outer)。...,当一个DataFrame对象中出现了缺失数据,而对于这些缺失数据,我们希望可以使用其他DataFrame对象中的数据填充,此时需要使用combine_first方法。
标签:Python与Excel,pandas 删除列也是Excel中的常用操作之一,可以通过功能区或者快捷菜单中的命令或者快捷键来实现。...上一篇文章,我们讲解了Python pandas删除数据框架中行的一些方法,删除列与之类似。然而,这里想介绍一些新方法。取决于实际情况,正确地使用一种方法可能比另一种更好。...唯一的区别是,在该方法中,我们需要指定参数axis=1。下面是.drop()方法的一些说明: 要删除单列:传入列名(字符串)。 删除多列:传入要删除的列的名称列表。...实际上我们没有删除,而是创建了一个新的数据框架,其中只包含用户姓名、城市和性别,有效地“删除”了其他两列。然后,我们将新创建的数据框架赋值给原始数据框架以完成“删除操作”。注意代码中的双方括号。...重赋值 当数据框架只有几列时效果最好;或者数据框架有很多列,但我们只保留一些列。 如果我们需要保留许多列,必须键入计划保留的所有列名称,这可能需要大量键入。
一、简述 python的pandas库可以轻松的处理excel中比较难实现的筛选功能,以下简单的介绍几种利用pandas实现筛选功能方式: 二、模块介绍 pandas——专为解决数据分析与处理任务而创建的...'值' 多条件匹配时 自定义函数data_many data_many=df[(df['列名1']== ‘列值1’)&(df['列名2']==‘列值2’)] 多值匹配时 data_many="...是不是很像SQL的语句:select * from id where name in (‘值1’,‘值2’,‘值3’) 3.2 模式匹配 某列中开头是某值,中间包含某值的模式匹配法,可能在Excel中实现比较困难...自定义函数获取返回函数值——cond 开头包含某值的模式匹配 cond=df['列名'].str.startswith('值') 中间包含某值的模式匹配 cond=df['列名'].str.contains...('值') 3.3 范围区间值筛选 筛选出基于两个值之间的数据: 自定义函数cond cond=df[(df['列名1']>‘列值1’)&(df['列名1']<‘列值2’)] 返回列名1介于列值1和列值
(2)data.frame 数据框—— 二维,每列只允许一种数据类型(列与列之间相不相同都行)。 2)list列表:可装万物。...因为不同的数据结构的应用场景不一样,比如有些函数的输入数据仅支持数据框,有些仅支持矩阵。...(df1) #行 > ncol(df1) # 列 > rownames(df1) #行名 > colnames(df1) #列名 3.4 数据框取子集:$ 、[ ] 、按照名字、按条件(逻辑值...逻辑值符合的条件是score一列大于0被保留下来。 #思考?筛选score>0的基因?...>df1[,ncol(df1)] #如何取数据框除了最后一列以外的的其他列?
可以是列名,索引级名称,也可以是长度等于DataFrame长度的数组。 right_on: 左侧DataFrame中的列或索引级别用作键。...对于具有MultiIndex(分层)的DataFrame,级别数必须与右侧DataFrame中的连接键数相匹配。 right_index: 与left_index功能相似。...outer’取并集,出现的A会进行一一匹配,没有同时出现的会将缺失的部分添加缺失值。 sort: 按字典顺序通过连接键对结果DataFrame进行排序。..._merge是分类类型,并且对于其合并键仅出现在“左”DataFrame中的观察值,取得值为left_only,对于其合并键仅出现在“右”DataFrame中的观察值为right_only,并且如果在两者中都找到观察点的合并键...如果为True,则将名为_merge的Categorical类型列添加到具有值的输出对象: df1 = pd.DataFrame({'col1': [0, 1], 'col_left':['a',
只要返回相同数目的行,就是正常的 检索多个列 select id,name,age,sex from user 在选择多个列时,一定要在列名之间加上逗号,但最后一个列名后不加。...,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有意义 通常,ORDER BY子句中使用的列将是为显示所选择的列。...使用这些函数,MySQL查询可用于检索数据,以便分析和报表生成 确定表中行数(或者满足某个条件或包含某个特定值的行数)。 获得表中行组的和。...返回某列值之和 AVG() 返回某列的平均值 注意 在使用count时,如果指定列名,则指定列的值为空的行被忽略,但如果COUNT()函数中用的是星号(*),则不忽略 数据分组 GROUP BY...这使我们能够对行进行计数,计算和与平均数,获得最大和最小值而不用检索所有数据 目前为止的所有计算都是在表的所有数据或匹配特定的WHERE子句的数据上进行的。
②获得表中行组的和 ③找出表列(或所有行或某些特定的行)的最大值、最小值和平均值 聚集函数(aggregate function):运行在行组上,计算和返回单个值的函数(MySQL还支持一些列的标准偏差聚集函数...1、avg()函数 avg()通过对表中行数计数并计算特定列值之和,求得该列的平均值;avg()可用来返回所有列平均值,也可用来返回特定列的平均值; select avg(prod_price) as...①使用count(*)对表中行的数目进行计数,不管表列中包含的是空值(null)还是非空值; ②使用count(column)对特定列中具有值的行进行计数,忽略null值; select count(...; PS:如果指定列名,则指定列的值为空的行被count()函数忽略,但如果count()函数中用的是星号(*),则不忽略; 3、max()函数 max()返回指定列中的最大值,max()要求指定列名...(sum()函数忽略列值为null的行) 6、distinct与聚集函数 MySQL5.0.3以及之后的版本,聚集函数和distinct可以搭配使用,比如: ①对所有的行执行计算,指定all参数或不给参数
,MySQL提供了Date函数来解决这个问题.Date(order_date)指示MySQL仅提取列的日期部分,更可靠的SELECT语句为: SELECT * FROM orders WHERE DATE...COUNT()函数有两种使用方式: ①使用COUNT(*)对表中行的数目进行计数, 不管表列中包含的是空值( NULL)还是非空值。...关于空值: column如果指定列名,则指定列的值为空的行被COUNT()函数忽略,但如果COUNT()函数中用的是星号(*),则不忽略。 ...EG: SELECT MAX(prod_price) AS max_price FROM products; ④MIN()函数用法: MIN()的功能正好与MAX()功能相反,它返回指定列的最小值。...与MAX()一样, MIN()要求指定列名.对非数值数据使用MIN() MIN()函数与MAX()函数类似,MySQL允许将它用来返回任意列中的最小值,包括返回文本列中的最小值。
() 数据表基本信息(维度、列名称、数据格式、所占空间等) df.dtypes 列数据的格式 df[‘Name’].dtype 某一列格式 df.isnull() 空值 df.isnull() 查看某一列空值...df[Name’].unique() 某一列的唯一值 df.values 数据表的值 df.columns 列名称 df.head() 查看前10行数据 df.tail() 查看后10行数据 数据操作...的索引列,列名称为category和size df_inner=pd.merge(df_inner,split,right_index=True, left_index=True) 将完成分裂后的数据表和原...(df,df1,how=‘outer’) 全连接(取两个集合的并集,包含有 df , df1 的全部数据行,无匹配则填充空) 修改列名 代码 作用 a.columns = [‘a’,‘b’,‘c’]...num的列,值为1 frame.insert(0, ‘num’, np.
desc) 降序排列 orderBy/sort($"列1" , $"列2".desc) 按两列排序 例如: df.select($"id",$"name").orderBy($"name..."name".desc).show 3>分组查询 groupBy("列名", ...).max(列名) 求最大值 groupBy("列名", ...).min(列名) 求最小值 ... LEFT OUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。...如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。...df.count//获取记录总数 val row = df.first()//获取第一条记录 val value = row.getString(1)//获取该行指定列的值 df.collect //
SQL命令 ORDER BY(一) 指定结果集中行排序的SELECT子句。...ORDER BY子句可以指定列名、列别名和选择项列号的任意组合。如果ordering-item的第一个字符是数字,则 IRIS假定指定的是列号。否则,假定使用列名或列别名。...在某些情况下,对列名进行操作的表达式可以用作排序项。 不能使用将列名作为字符串提供的变量或其他表达式。...但是,如果列别名与别名列名相同,这种明显的歧义不会生成错误,但可能会产生意想不到的结果。...',1) AS AgeDev FROM Sample.Employee ORDER BY AgeDev,Name 不能指定一个非字段的列名默认值,比如Expression_3; 相反,指定选择项列号(
2、数据表基本信息(维度、列名称、数据格式、所占空间等): df.info() 3、每一列数据的格式: df.dtypes 4、某一列格式: df['B'].dtype 5、空值: df.isnull...() 6、查看某一列空值: df['B'].isnull() 7、查看某一列的唯一值: df['B'].unique() 8、查看数据表的值: df.values 9、查看列名称: df.columns...如果字典中传递,将作为键参数,使用排序的键,除非它传递,在这种情况下的值将会选择 (见下文)。任何没有任何反对将默默地被丢弃,除非他们都没有在这种情况下将引发 ValueError。...请注意在联接中仍然受到尊重的其他轴上的索引值。 join_axes︰ 索引对象的列表。具体的指标,用于其他 n-1 轴而不是执行内部/外部设置逻辑。 keys︰ 序列,默认为无。...,并创建数据表,索引值为df_inner的索引列,列名称为category和size pd.DataFrame((x.split('-') for x in df_inner['category']),
考虑一个二维矩阵,其一维为“ B ”和“ C ”(列名),另一维为“ a”,“ b ”和“ c ”(行索引)。 我们选择一个ID,一个维度和一个包含值的列/列。...Stack 堆叠采用任意大小的DataFrame,并将列“堆叠”为现有索引的子索引。因此,所得的DataFrame仅具有一列和两级索引。 ? 堆叠名为df的表就像df.stack()一样简单 。...包括df2的所有元素, 仅当其键是df2的键时才 包含df1的元素 。 “outer”:包括来自DataFrames所有元素,即使密钥不存在于其他的-缺少的元素被标记为NaN的。...“inner”:仅包含元件的键是存在于两个数据帧键(交集)。默认合并。 记住:如果您使用过SQL,则单词“ join”应立即与按列添加相联系。...例如,考虑使用pandas.concat([df1,df2])串联的具有相同列名的 两个DataFrame df1 和 df2 : ?
领取专属 10元无门槛券
手把手带您无忧上云