python数据分析与机器学习笔记(二)pandas -1
前言:pandas用于数据预处理,基于numpy,很多numpy要好多行才能完成的操作,pandas中可能只需一行代码
- pandas数据读取
1.1导入pandas包
import pandas
1.2读取数据:read_csv()
案例:
1.3数据类型:DataFrame,dtypes
DataFrame是pandas中的基础数据结构,可理解为数据矩阵
字符型在pandas中标记为object
1.3数据显示head,tail
显示开始3行,也可以把头3行赋值给一个变量。形成一个新的dataframe
显示末尾3行,也可以把末尾3行赋值给一个变量
显示列名:
显示dataframe结构
有8618条记录,每条记录中含有36个属性值
2.Pandas索引与计算
pandas中取数据不像python、numpy直接使用下标,而要调用函数
2.1 loc[index]函数中的参数index代表第几行
显示第一行数据,可以改变index值显示不同行的数据,也可以显示几行数据
也可以选择性显示个别行数据
这里要特别注意,loc[index]中的index参数为一个矩阵,这里为两层中括号
2.2如果我要取一列的数据要怎么办?
第一列的索引名称为NDB_No,因此要取第一列数据就使用变量名后加中括号,括号里注意用双引号括起来列名
也可以定位几个列,把所有列名赋值给一个list,或者直接在中括号里列出所有列名均可
注意:双中括号
案例:找出所有以(g)结尾的列
col_list=food_info.columns
new_columns=[]
for c in col_list:
if c.endswith("(g)"):
new_columns.append(c)
new_df=food_info[new_columns]
注意事项:每行开头留白的使用,new_columns需要先声明
案例 添加一列数据 ,将Iron_(mg)数据除以1000,变为Iron_(g),并添加到food_info中
添加一列后,变为37列
对比两列数据(这个命令注意,属性名称是一个list也要在中括号里,所以是两层中括号)