--知中有行,行中有知;以知为行,知行合一,学习编程成就更好的自己--
Python语言简洁生动,特别适合文科生学习入门IT世界,用几十行代码就能够做一个完整的爬虫脚本,开发效率杠杠的!短时间内即可解决工作和学习中碰到的各种棘手问题。(本人外语专业毕业,机缘巧合爱上编程,自学道路曲曲折折,痛并快乐!)在这里总结一下自学Python遇到的难点和重点,分享码过的代码和要点总结,希望能够给初学者一点启示和鼓励,同时愿意结交更多大神交流有助提升自己的水平。
今天分享一下数据处理技巧相关的干货,涉及了两个重要基础知识点,即是pandas中的转置(Transpose)和炸裂(Explode),要知道数据工程师和数据科学家的日常工作中需要处理大量不规则的脏数据,会碰到各种稀奇古怪的难题,所以接下来的案例展示过程中一定能理解:数据处理工作需要耐心和细心,平时做好积累和总结,日后面对更加复杂的场景才会游刃有余的解决。
下面来看看案例吧:
从截图看到只有两个字段,相关任务是:
1-提取数据中书籍种类和订单编号,并将新数据集以书籍种类转置展示。
2-根据每个订单号对应的数量展开多行,数量每行赋值1。
1.读取和查看数据
2.通过str.split方法获取想要的字段数据集
3.对新数据集名重命名,使用df.columns=[""]方法
4.通过pd.merge方法把初始和新生数据集合按index主键拼接
可以看到第一个任务已完成大半,剩下的只需要转置即可。
5.重置索引序列,将书籍种类作为索引列,使用df.set_index方法
6.使用Transpose方法转置完成第一个任务
7.构造自定义函数方便生成辅助列,对应生成的就是数量列表
8.使用Explode方法进行炸裂,把对应列表实现多行分裂
这里可以看到基本上已经完成了,例如:B1001数量为三也生成了三行。
9.数量全部赋值为1,完成第二个任务
代码汇总如下:
import pandas as pd
import numpy as np
import os
def Set_Work_Path(x):
try:
os.chdir(x)
route = os.getcwd()
return route
except Exception:
print("No Result")
work_path = r"E:DATA12AUG21"
display(Set_Work_Path(work_path))
#get the data
data = pd.read_excel("Sample.xlsx",sheet_name="DATA",header=0)
display(data)
#get info splitted into a part
part = data["数据"].str.split("+",expand=True)
display(part)
#rename columns names
part.columns = ["种类","订单号"]
display(part)
#get the two datasets together with index
df = pd.merge(left=data,right=part,how="left",left_index=True,right_index=True)
display(df)
#reset index
df_change = df.set_index("种类")
display(df_change)
df_change_T = df_change.T
display(df_change_T)
#define a function
def Get_List_Data(x):
list = []
for i in range(x):
list.append(i)
return list
df["list"] = df["数量"].apply(Get_List_Data)
display(df)
df = df.explode("list")
display(df)
df["数量"] = 1
display(df)
通过这个案例不仅知道如何使用Transpose和Explode,也涉及了merge,set_index和str.split等其他实用的基础知识点。学好编程最重要的是:干中学,学中干,知行合一,才能把杂乱的知识融会贯通形成体系为我所用!!!
END
我为人人,人人为我!!欢迎大家关注,点赞和转发!!!
~~人生不是赛场,梦想不容退场~~不断努力学习蜕变出一个更好的自己,不断分享学习路上的收获和感悟帮助他人成就自己!!!
页面更新:2024-04-28
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号