『』数据科学家和软件工程师都在用的pandas函数有哪些?( 三 )
本文插图
本文插图
本文插图
合并数据框
想将两个数据框合并在一列时 , 合并数据框就如同SQL(结构化查询语言)的左联接用法 。
rating.merge(anime,left_on=’anime_id’, right_on=’anime_id’, suffixes=(‘_left’, ‘_right’))
本文插图
8.筛选
检索匹配索引值的行
anime_modified中的索引值是动漫的名称 。 请注意 , 如何使用这些名称来获取特定列 。
anime_modified.loc[['Haikyuu!!Second Season','Gintama']]
本文插图
通过编号索引值来检索行
与上面的函数不同 , 使用 iloc , 第一行的索引值为0 , 第二行的索引值为1 , 以此类推……即便在修改数据框后 , 在索引列中使用字符串值 。
使用此函数 , 当你想获得数据框中的前3行 。
anime_modified.iloc[0:3]
本文插图
获取行
在给定列表的列值中检索行 。 匹配单个值时 , anime[anime[‘type’] == 'TV']也适用 。
anime[anime['type'].isin(['TV','Movie'])]
本文插图
拆分数据框
这就像拆分表格一样 。 拆分数据框 , 来获取在特定索引前/中/后的所有行 。
anime[1:3]
本文插图
通过值筛选
筛选符合条件的行的数据框 。 但注意 , 这将维持现有的索引值 。
anime[anime['rating'] > 8]
本文插图
9.排序
排序函数sort_values
本文插图
图源:unsplash
按列中的值对数据框进行排序 。
anime.sort_values('rating',ascending=False)
本文插图
10.汇总
分组和计数
计算列中每个不同值的记录数 。
anime.groupby('type').count()
本文插图
以不同方式对列进行分组和汇总
注意 , 笔者添加了 reset_index() 函数 , 否则 , 下文的“type”列将成为索引列——笔者建议在多数情况下这样做 。
anime.groupby([''type'']).agg({ ''rating'': ''sum'', ''episodes'':''count'', ''name'': ''last'' }).reset_index()
创建数据透视表
数据透视表是最适合从数据框中提取数据子集的工具 。
需注意 , 笔者已对数据框进行了大量筛选 , 因此可以更快地构建数据透视表 。
tmp_df = rating.copy() tmp_df.sort_values('user_id', ascending=True, inplace=True) tmp_df = tmp_df[tmp_df.user_id < 10] tmp_df = tmp_df[tmp_df.anime_id < 30] tmp_df = tmp_df[tmp_df.rating != -1]pd.pivot_table(tmp_df, values='rating',index=['user_id'], columns=['anime_id'], aggfunc=np.sum, fill_value=http://news.hoteastday.com/a/0)
推荐阅读
- []重庆移动-亚德高等级数据中心落户西永微电园
- 平台■在线视频平台大数据杀熟成惯例 买VIP就活该被宰?
- 「数据线」手机充电慢?那你需要看看是不是这些地方出了问题
- 大数据:这套绝对是2020年大数据最全面的线路图+实战项目+源码限时赠你
- 【Ace】原创 用实际数据发声,OPPO Ace2的这些亮点你要知道
- #颜七公子#TunesKit iPhone Data Recovery for Mac(iPhone数据恢复工具)
- 『挖贝网』网达软件2019年净利3439.68万增长330.28%行业客户拓展
- 邓锄头挖科技■关于IDC数据中心的“容量管理”的目标和3种子业务场景
- 「天文」科学家制造人造彗星,获取DNA成分
- 技术@为楼宇安上“智慧大脑”,翠苑街道开创“一平台”数据互通模式