共计 1237 个字符,预计需要花费 4 分钟才能阅读完成。
大家好~
本期给大家举荐几个 pandas 高效数据处理函数 (继续更新),心愿对你有所帮忙:
- 字典创立 Dataframe
- 列拆分(split/extract)
- 列合并(cat)
- 左右填充(pad)
- 依据类型筛选列(select_dtypes)
- 排序(rank)
1. 字典创立 Dataframe
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=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。
以上就是本期为大家整顿的全部内容了,赶快练习起来吧,喜爱的敌人能够! 点赞、点在看能够分享让更多人晓得
正文完