Python数据分析系列第一章 csv文件处理进阶 一、pandas是什么?pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤1.引入库# 导入 csv 库 import pandas as pd 2.读入数据# 打开文件 with open(in_data_path, 'r',encoding="utf-8-sig") as f_in: # 读取文件 data = pd.read_csv(f_in, encoding="utf-8-sig") 读取的数据为: 3.数据获取和处理3.1 获取表头/文件头# 获取文件头/表头 head = data.head() print("the head of this csv is {}\n".format(head)) 结果如下: 3.2 获取行/列数据3.2.1 获取某一/多行数据# 获取除了表头的第一行数据 line_value = data.iloc[1] print("the first line is \n{}".format(line_value)) # 通过切片的方式获取多行数据 line_values = data.iloc[:2] print("lines are \n{}".format(line_values )) 结果如下: 3.2.2 获取某一/多列数据# 获取第一列的数据 data_list = data.iloc[:, 0] print("the first list is \n{}".format(data_list)) # 获取前两列的数据 data_list = data.iloc[:, :2] print("lists are \n{}".format(data_list)) 结果如下: 当然如果你已经知道自己需要获取的列的表头是什么了,比如“name”,你也可以这样获取这列的内容: # 获取某一列的值 value = data['name'] for item in value: print("itmes in name is {}".format(item)) 结果如下: 3.3 查找数据# 查找符合条件的数据索引,tolist是将结果以列表的形式存储 index = data[data['score'] == 99].index.tolist() print("the index is {}".format(index)) 结果如下: 3.4 修改数据# 更改分数 value = data['score'] print(type(value)) for key, val in value.iteritems(): if val < 95.0: value[key] = 96.0 print(data) 结果如下图所示: 3.5 删除数据3.5.1 删除数据所在行# 查找符合条件的数据索引,tolist是将结果以列表的形式存储 index = data[data['score'] == 99].index.tolist() print("the index is {}".format(index)) data.drop(index, inplace=True) # 参数:inplace=True # 是在原文件进行更改,Flase表示不更改,需要赋值 print(data) 结果如下: 这里只是做了最简单的处理,drop函数还有很多参数,有更丰富的处理选择,详细的可以看这篇博客: 3.5.2 删除数据所在列当知晓某列数据的名称时,例如“name”,可以通过usecols参数来实现: # 删除某列数据 header = [*pd.read_csv(in_data_path, nrows=1)] new_data = pd.read_csv(in_data_path, usecols=[c for c in header if c != 'name']) print(new_data) 结果如下: 总结以上为一杯冰糖在学习与使用中接触到的部分用法,肯定是不够全面的,一杯冰糖会在以后慢慢扩充或者开新的文章记录pandas库处理csv文件的各种知识 |
|
来自: 昵称45893186 > 《待分类》