Datawhale动手数据分析第一章
学习资料:https://github.com/datawhalechina/hands-on-data-analysis
本文包含以下部分:
- 数据加载和初步观察
- pandas基础
- 简单数据探索性分析
数据加载
载入数据
1 | dataframe=pd.read_csv("filepath_or_buffer") |
可选参数:
- sep :用于分隔字段的字符。默认为逗号。如果 CSV 文件使用其他字符作为分隔符,可以通过此参数指定。
比如你发现所有数据都挤到一个格子里啦~
- encoding :文件编码方式,比如中英文转化乱码时需要指定。不同的操作系统保存下来也可能会有乱码。
- index_col :用作行索引的列编号或列名。如果设置为 False则不将任何列用作索引。默认情况下使用默认的整数索引。
- names :用来重置表头。
- chunksize :按块读取数据,返回可迭代的一定行数的Dataframe。
初步观察
熟悉表头,数据样式,数据类型
1 | df.head(n) # 查看前n行数据,n默认5 |
Pandas简单基础
索引
列索引:
两种方法均可
1 | df.columns_names |
iloc和loc
1 | df.iloc[] # 位置索引 |
直接看例子吧:
1 | df.iloc[0] # 选择第一行 |
排序
一个是按值排序,一个是按索引排序,ascending
指定升降序。
1 | df.sort_values(by=['col_na'],ascending=True) |
数据删除
df.drop()
和del df['']
都可以用来删除列。
二者对比:
- 功能:drop不仅可以删除列,还可以删除行。而del仅用于删除列。
- 操作方式:drop方法更灵活,可以接受标签名称作为参数来指定要删除的行或列,还可以选择是否在原始DataFrame上进行修改(通过设置
inplace=True
)或返回一个新的DataFrame对象。而del操作符则直接删除指定的列,不会返回新的对象。
在对数据进行切片、过滤或排序后,索引可能变得不连续或无序。可以使用
reset_index()
重置索引
探索性数据分析
教程主要做了一些描述性统计和数据的算数运算,简单查看了一些数据的特征和不同变量间的相关性。
因此,我认为这部分工作主要取决于个人的习惯和数据直觉。即充分的满足自己对数据的好奇。
此处不再,之后做特征工程时整理更详细的EDA方法。