小兔网

Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据的读取、生成、计算、修改、统计、抽样、查找、可视化、存储等数据处理中的常用操作!

1.数据读取

说明:读取本地Excel数据

Excel

Excel读取本地数据需要打开目标文件夹选中该文件并打开

202106140830052516470

Pandas

Pandas支持读取本地Excel、txt文件,也支持从网页直接读取表格数据,只用一行代码即可,例如读取上述本地Excel数据可以使用pd.read_excel("示例数据.xlsx")

2021061408300636951


2.数据生成

说明:生成指定格式/数量的数据

Excel

以生成10*2的0—1均匀分布随机数矩阵为例,在Excel中需要使用rand函数生成随机数,并手动拉取指定范围

202106140830079979223

Pandas

在Pandas中可以结合NumPy生成由指定随机数(均匀分布、正态分布等)生成的矩阵,例如同样生成10*2的0—1均匀分布随机数矩阵为,使用一行代码即可:pd.DataFrame(np.random.rand(10,2))

202106140830098605965


3.数据存储

说明:将表格中的数据存储至本地

Excel

在Excel中需要点击保存并设置格式/文件名

202106140830144522617

Pandas

在Pandas中可以使用pd.to_excel("filename.xlsx")来将当前工作表格保存至当前目录下,当然也可以使用to_csv保存为csv等其他格式,也可以使用绝对路径来指定保存位置

202106140830198184939


4.数据筛选

说明:按照指定要求筛选数据

Excel

使用我们之前的示例数据,在Excel中筛选出薪资大于5000的数据步骤如下

2021061408302472459411

Pandas

在Pandas中,可直接对数据框进行条件筛选,例如同样进行单个条件(薪资大于5000)的筛选可以使用df[df['薪资水平']>5000],如果使用多个条件的筛选只需要使用&(并)与|(或)操作符实现

2021061408303068048713


5.数据插入

说明:在指定位置插入指定数据

Excel

在Excel中我们可以将光标放在指定位置并右键增加一行/列,当然也可以在添加时对数据进行一些计算,比如我们就可以使用IF函数(=IF(G2>10000,"高","低")),将薪资大于10000的设为高,低于10000的设为低,添加一列在最后

2021061408303517186615

Pandas

在pandas中,如果不借助自定义函数的话,我们可以使用cut方法来实现同样操作

bins = [0,10000,max(df['薪资水平'])]
group_names = ['低','高']
df['new_col'] = pd.cut(df['薪资水平'], bins, labels=group_names)

2021061408304165225517


6.数据删除

说明:删除指定行/列/单元格

Excel

在Excel删除数据十分简单,找到需要删除的数据右键删除即可,比如删除刚刚生成的最后一列

2021061408304571595619

Pandas

在pandas中删除数据也很简单,比如删除最后一列使用del df['new_col']即可

2021061408305573410221


7.数据排序

说明:按照指定要求对数据排序

Excel

在Excel中可以点击排序按钮进行排序,例如将示例数据按照薪资从高到低进行排序可以按照下面的步骤进行

202106140831016412223

Pandas

在pandas中可以使用sort_values进行排序,使用ascending来控制升降序,例如将示例数据按照薪资从高到低进行排序可以使用df.sort_values("薪资水平",ascending=False,inplace=True)

2021061408310556488425


8.缺失值处理

说明:对缺失值(空值)按照指定要求处理

Excel

在Excel中可以按照查找—>定位条件—>空值来快速定位数据中的空值,接着可以自己定义缺失值的填充方式,比如将缺失值用上一个数据进行填充。

2021061408310822238227

Pandas

在pandas中可以使用data.is.sum来检查缺失值,之后可以使用多种方法来填充或者删除缺失值,比如我们可以使用df = df.fillna(axis=0,method='ffill')来横向/纵向用缺失值前面的值替换缺失值

2021061408311089314229


9.数据去重

说明:对重复值按照指定要求处理

Excel

在Excel中可以通过点击数据—>删除重复值按钮并选择需要去重的列即可,例如对示例数据按照创建时间列进行去重,可以发现去掉了196 个重复值,保留了 629 个唯一值。

2021061408311678683331

Pandas

在pandas中可以使用drop_duplicates来对数据进行去重,并且可以指定列以及保留顺序,例如对示例数据按照创建时间列进行去重df.drop_duplicates(['创建时间'],inplace=True),可以发现和Excel处理的结果一致,保留了 629 个唯一值。

2021061408312210608233


10.格式修改

说明:修改指定数据的格式

Excel

在Excel中可以选中需要转换格式的数据之后右键—>修改单元格格式来选择我们需要的格式

2021061408312530833335

Pandas

在Pandas中没有一个固定修改格式的方法,不同的数据格式有着不同的修改方法,比如类似Excel中将创建时间修改为年-月-日可以使用df['创建时间'] = df['创建时间'].dt.strftime('%Y-%m-%d')

2021061408312855269637