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

高效10个Pandas函数,你都用过吗?

Where Where用来根据条件替换行或值。如果满足条件,保持原来值,不满足条件则替换为其他值。默认替换为NaN,也可以指定特殊值。..., raise_on_error=None) 参数作用: cond:布尔条件,如果 cond 为真,保持原来值,否则替换为other other:替换特殊值 inplace:inplace为真则在原数据上操作...用法: DataFrame.loc[] 或者 DataFrame.iloc[] loc:标签(column和index)选择 iloc:索引位置选择 选择df第1~3、第1~2数据...如果未指定, 请使用未设置为id_vars所有 var_name [scalar]:指代用于”变量”名称。...[int或string, 可选]:如果列为MultiIndex, 它将使用此级别来融化 例如有一串数据,表示不同城市和每天的人口流动: import pandas as pd df1 = pd.DataFrame

4.1K20

PySpark︱DataFrame操作指南:增删改查合并统计与数据处理

**查询总行数:** 取别名 **查询某列为null:** **输出list类型,list中每个元素是Row类:** 查询概况 去重set操作 随机抽样 --- 1.2 元素操作 --- **获取...Row元素所有列名:** **选择一或多:select** **重载select方法:** **还可以用where条件选择** --- 1.3 排序 --- --- 1.4 抽样 --- --...otherwise表示,不满足条件情况下,应该赋值为啥。...DataFrame类型): avg(*cols) —— 计算每组中一或多平均值 count() —— 计算每组中一共有多少,返回DataFrame有2,一列为分组组名...,另一列为总数 max(*cols) —— 计算每组中一或多最大值 mean(*cols) —— 计算每组中一或多平均值 min(*cols) —— 计算每组中一或多最小值

30K10
您找到你想要的搜索结果了吗?
是的
没有找到

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

可以看出,当how=’inner‘时,得到合并数据框会自动剔除存在数据缺失,只保留完美的,'outer'时则相反 dataframe.join() join()一些常用参数: other:...join()合并对象 on:指定合并依据联结键 how:选择合并方式,'left'表示左侧数据框行数不可改变,只能由右边适应左边;'right'与之相反;'inner'表示取两个数据框联结键交集作为合并后新数据框...;'outer'表示以两个数据框联结键并作为新数据框行数依据,缺失则填充缺省值  lsuffix:对左侧数据框重复列重命名后缀名 rsuffix:对右侧数据框重复列重命名后缀名 sort:表示是否以联结键所在列为排序依据对合并后数据框进行排序...细心你会发现虽然我们成功得到了一个数据框随即全排列,但是每一index却依然和打乱前对应保持一致,如果我们利用标号进行遍历循环,那么实际得到每行和打乱之前没什么区别,因此下面引入一个新方法...8.数据框元素去重 df.drop_duplicates()方法: 参数介绍: subset:为选中进行去重,默认为所有 keep:选择对重复元素处理方式,'first'表示保留第一个,'last

14.2K51

几个高效Pandas函数

Ture表示允许新列名与已存在列名重复 在第三位置插入新: #新值 new_col = np.random.randn(10) #在第三位置插入新,从0开始计算 df.insert(2...Where Where用来根据条件替换行或值。如果满足条件,保持原来值,不满足条件则替换为其他值。默认替换为NaN,也可以指定特殊值。..., raise_on_error=None) 参数作用: cond:布尔条件,如果 cond 为真,保持原来值,否则替换为other other:替换特殊值 inplace:inplace为真则在原数据上操作...用法: DataFrame.loc[] # 或者 DataFrame.iloc[] loc:标签(column和index)选择 iloc:索引位置选择 选择df第1~3、第1~2数据...如果未指定, 请使用未设置为id_vars所有 var_name [scalar]:指代用于”变量”名称。

1.5K60

数据整合与数据清洗

可以直接用列名选择,也可以通过ix、iloc、loc方法进行选择。 ix方法可以使用数值或者字符作为索引来选择。 iloc则只能使用数值作为索引来选择。...选择多。ix、iloc、loc方法都可使用。 只不过ix和loc方法,索引是前后都包括,而索引则是前包后不包(与列表索引一致)。 iloc方法则和列表索引一致,前包后不包。...# ignore_index=True表示忽略两表原先索引,合并并重新排序索引,drop_duplicates()表示去重 print(pd.concat([df1, df2], ignore_index...05 排序 Pandas排序方法有以下三种。 sort_values、sort_index、sortlevel。 第一个表示值排序,第二个表示索引排序,第三个表示级别排序。...这里以性别列为例,将0,1,2替换为未知、男性、女性。

4.6K30

利用pandas处理Excel数据

.xlsx') # 相对路径 # df = pd.read_excel(r'E:\Anaconda\hc\dataScience\table1.csv') # 绝对路径 显示数据 显示数据数...(by=['Score']) (注:默认升序,且空值在后面) 数据分组 ①单一条件分组 # 如果Score值>=85,Score显示high,否则显示low # group列为增加 df['group...'] = np.where(df['Score'] > 85,'high','low') ②多个条件分组 # 利用loc函数,进行多查询 # sign为增加 df.loc[(df['Sex'] =...:5] ②位置提取 #[0, 2, 5] 代表指定,[0, 1, 5] 代表指定 df.iloc[[0, 2, 5],[0, 1, 5]] 条件提取(isin与loc函数) ①用isin...85'), ['Name','Age','Class']] ③先判断结果,将结果为True提取 # 先判断Score里是否包含80和90,然后将复合条件数据提取出来。

99220

(数据科学学习手札07)R在数据框操作上方法总结(初级篇)

方式1: 名称进行索引 > df$a [1] 1 2 3 4 5 6 7 8 9 10 方式2: 对应轴标号进行索引 > df[2] b a 10 b 9 c...在R中,通过内联键合并数据框函数为merge(),其主要参数如下: by:对两个数据框建立内联共有(元素交集部分不能为空集),以此列为依据,返回内联取交集后剩下样本行 sort:是否对合并后数据框以内联列为排序依据进行排序...,其第一个输入值为待筛选数据框,第二个位置写入行筛选条件(或多个条件逻辑符连接组合筛选),第三个select参数控制选中: > subset(df1, a >= 6& a <=8) a...需要删除,!需要删除] 上面的duplicated(df)已经提取出df所有重复逻辑型标号,因此只需要在删除方法里设置删除标号为duplicated(df)返回值即可: > df[!...j j 可以看到,所有重复均已清除。

1.4K80

Python替代Excel Vba系列(二):pandas分组统计与操作Excel

排名 首先需要解决是怎么得到班级 top 3? 首要任务是得到排名,如下: 这里需要在数据中新增一[排名] df.groupby('班级') 就是 班级 分组意思。...df.groupby('班级')['总分'] 表示分组后每个组我们只使用[总分]这个字段。...参数 method='min' ,表明如果有多个人有相同总分,那么全部的人都用所有名次中最小排名值。后面会看到数据。...df.sort_values(['班级','排名'],inplace=True) ,先[班级]后[排名]进行排序,不是必须,只是为了方便查看数据。...而 transform 方法特点就是不会压缩原数据行数,因此每组数都是一样平均分。 df['班级均分']=class_avg ,同样新增一

1.6K30

python df 替换_如何用Python做数据分析,没有比这篇文章更详细了(图文详情)...

Python 中使用 shape 函数来查看数据表维度,也就是行数和数,函数返回结果(6,6)表示数据表有 6 ,6 。下面是具体代码。  ...标签提取(loc)  Loc 函数数据表索引标签进行提取,下面的代码中提取了索引列为 3 单条数据。  ...1#提取 4 日之前所有数据  2df_inner[:'2013-01-04']  提起提取  位置提取(iloc)  使用 iloc 函数位置对数据表中数据进行提取,这里冒号前后数字不再是索引标签名称...,后面方括号中表示所在位置。  ...符合条件数据有 4 条。将筛选结果 id 进行排序。  1#使用“非”条件进行筛选  2df_inner.loc[(df_inner['city'] !

4.4K00

sql题目pandas解法(02):isin

(tg_query)[cols]) ,因为只有一(.iloc[0]) ,看看哪些是缺考(.isna()) 6:同上逻辑,只是这次条件是其他同学 8:用前2步结果对比(tg_cond ==...pandas 也能这种思路完成: pandas 中 isin 对应 Sql in A.isin(B),得到结果是一个长度与A一样 bool值,每个 bool 值表示 A对应值是否在...,正确 Sql 做法请看源码吧 ---- 没学过"张三"老师讲授任一门课程学生姓名: 4:所有(all)课程教师都不是"张三"(df_wd[cols]!...平均成绩(df_wd[cols].mean(axis=1)) ---- 检索"语文 "课程分数小于 60,分数降序排列学生信息: 3:语文成绩小于60分(df_wd[cols]<60) 5:分数降序排列...(.sort_values(cols,ascending=False)) ---- 平均成绩从高到低显示所有学生所有课程成绩以及平均成绩: 4:求出平均成绩 5:有平均成绩学生 6:排序

79310

Pandas实现简单筛选数据功能

自定义函数变量data data=df.loc[2:5] #这里[2:5]表示第3到第5内容,[]第一个起始是0,表示数据第一 筛选出数据某列为某值所有数据记录 df['列名'] =...'值' 多条件匹配时 自定义函数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和

1.4K10

Python 使用pandas 进行查询和统计详解

: # 通过位置索引选取第一数据 df.iloc[0] # 通过位置索引选取第一和第二数据 df.iloc[0:2] 通过布尔索引筛选数据: # 选取年龄大于等于 20 记录 df[df['age...判断数据是否为缺失值: # 返回一个布尔型 DataFrame,表明各元素是否为缺失值 df.isnull() 删除缺失值所在: # 删除所有含有缺失值 df.dropna() # 删除所有含有缺失值...df.dropna(axis=1) 用指定值填充缺失值: # 将缺失值使用 0 填充 df.fillna(0) 数据去重 对 DataFrame 去重: # 根据所有重复性进行去重 df.drop_duplicates...'].drop_duplicates() 数据合并 横向()合并 DataFrame: # 创建一个新 DataFrame other_data = {'name': ['Tom', 'Jerry...DataFrame 在列上合并 pd.concat([df, other_df], axis=1) 纵向()合并 DataFrame: # 创建一个新 DataFrame other_data

21910

R语言数据结构(三)数据框

数据框有两个维度,分别表示行数和数,可以用dim()函数来获取。数据框中每个向量可以有一个名称,可以用names()函数来获取或设置。...行列索引号从1开始,表示第一或第一,负数表示排除对应位置元素。名称是指数据框中每个向量名称,可以用双引号或单引号包围。使用方括号[]访问数据框中元素时,返回结果仍然是一个数据框。...M London # 3 Charlie 30 M Tokyo 合并数据框 我们可以用rbind()和cbind()函数来合并数据框,参数是两个或多个数据框,它们必须有相同数或行数...= 25) cat("根据条件删除age为25岁数据框:\n") print(df_deleted_age) # 根据条件删除age为25岁数据框: # name age gender...<- subset(df, select = -c(age)) cat("根据条件删除age数据框:\n") print(df_deleted_age_column) # 根据条件删除age数据框

21530
领券