大家好~
本期给大家推荐几个pandas高效数据处理函数(持续更新),希望对你有所帮助:
- 字典创建Dataframe
- 列拆分(split/extract)
- 列合并(cat)
- 左右填充(pad)
- 根据类型筛选列(select_dtypes)
- 排序(rank)
df_dict = {'name':['Alice_001','Bob_002','Cindy_003','Eric_004','Helen_005','Grace_006'],'sex':['female','male','female','male','female','male'],'math':[90,89,99,78,97,93],'english':[95,94,80,94,94,90]}
#[1].直接写入参数test_dict
df = pd.DataFrame(df_dict)
#[2].字典型赋值
df = pd.DataFrame(data=https://www.it610.com/article/df_dict)
文章图片
2. 列拆分(split/extract) 字符拆分:
df1[['name', 'id']] = df1['name'].str.split('_', 2, expand = True)
文章图片
正则表达式拆分:
df2 = df.copy()
df2['name2'] = df2['name'].str.extract('([A-Z]+[a-z]+)')
df2['id2'] = df2['name'].str.extract('(\d+)')
文章图片
3. 列合并(cat) 自定义连接符:
df1["name_id"] = df1["name"].str.cat(df1["id"],sep='_'*3)
文章图片
某列合并输出:
df1["name"].str.cat(sep='*'*5)
文章图片
4. 左右填充(pad) 左填充:
df1["id"] = df1["id"].str.pad(10,fillchar="*")
# 相当于ljust()
df1["id"] = df1["id"].str.rjust(10,fillchar="*")
文章图片
右填充:
df1["id"] = df1["id"].str.pad(10,side="right",fillchar="*")
文章图片
两侧填充:
df1["id"] = df1["id"].str.pad(10,side="both",fillchar="*")
文章图片
5. 根据类型筛选列(select_dtypes) 筛选数值列:
df1.select_dtypes(include=['float64', 'int64'])
文章图片
筛选object列:
df1.select_dtypes(include=['object'])
文章图片
6. 排序(rank) 英语成绩排名:
df1['e_rank'] = df1['english'].rank(method='min',ascending=False)
文章图片
94分有三个,所以三个并列第2。
【技巧 | 分享几个Pandas高效函数】以上就是本期为大家整理的全部内容了,赶快练习起来吧,喜欢的朋友可以!点赞、点在看可以分享让更多人知道
推荐阅读
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- Python专栏|数据分析的常规流程
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- Python绘制小红花
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 爬虫|若想拿下爬虫大单,怎能不会逆向爬虫,价值过万的逆向爬虫教程限时分享
- 分布式|《Python3网络爬虫开发实战(第二版)》内容介绍
- java|微软认真聆听了开源 .NET 开发社区的炮轰( 通过CLI 支持 Hot Reload 功能)