Pandas学习小结【2】解析CSV文件
Pandas可以读取多种类型文件,如excel, txt, csv等, 这里小结下读取csv文件。
读取CSV文件
默认分割符是",", 可以不用指定,如果是其他分割符需要指定seq参数。在路径前面加上r, 是防止被转义。
1.路径前加r
![](https://img.haomeiwen.com/i14612035/87ed10b0f56ce6bb.png)
2.指定分隔符
![](https://img.haomeiwen.com/i14612035/f1dd0b6276190208.png)
处理解析文件内容
1.查看文件内容,通过newdf.head(),查看前100行,可以用newdf.head(100), 也可以直接输入变量名df查看全部内容,如上图
2.查看DataFrames数据类型及文件大小, 用newdf.info()
![](https://img.haomeiwen.com/i14612035/e38ac90a9690cff7.png)
3. 处理数据,删除可以用drop或del, drop会将删除后的数据生成副本,原先的数据不做修改,如下图。
![](https://img.haomeiwen.com/i14612035/b332757e19a0b077.png)
4. del 删除,是直接删除
![](https://img.haomeiwen.com/i14612035/14d62f2a010c686b.png)
5. drop时,默认axis=0,不设置时是按行删除,设置axis=1时是按列删除。DataFrame默认生成行索引,可通过index指定索引值去删除行。删除列时,可用columns指定列名,也可直接用列名指定。
![](https://img.haomeiwen.com/i14612035/9939543554e09fe2.png)
![](https://img.haomeiwen.com/i14612035/24c53104f444bd52.png)
![](https://img.haomeiwen.com/i14612035/97a6864dbb76079a.png)
6. 读取数据
iloc方法为默认,可通过行索引取值,可以读取切片数据,如下:
![](https://img.haomeiwen.com/i14612035/3f884e0cb515a5af.png)
列读取可以直接用列名读取
![](https://img.haomeiwen.com/i14612035/b55f766015d9e267.png)
7. 设置列索引,可以手动定义列索引,一旦定义列索引后,行索引自动消失,也就不能用iloc访问数据。如下图a列被定义为索引
![](https://img.haomeiwen.com/i14612035/ca958e2c1d5638e0.png)
可以用loc来访问列为索引列, 当然索引列是不能访问的。用索引列访问会报错,该列为索引列 df['a'],其他列依然可以用列名访问数据。
下图是用loc来访问列索引来得到数据。
![](https://img.haomeiwen.com/i14612035/0a758bdd4e9a51a9.png)
8.数据填充或处理
填充空白值(NaN),最简单的可以直接替换,设置指定列替换为指定值,指定列的空值就会被替换为目标数据,如newdf2=df.fillna({'b':3,'f':7})
![](https://img.haomeiwen.com/i14612035/349ca636f49a0b2b.png)
数据处理,如将d列都设置为两位数据,取值可以根据需求用正则表达式设定,如这里取d里最前2位数为d列的值。
![](https://img.haomeiwen.com/i14612035/bf90dee0c954acdf.png)