机器学习中常用的高级数据结构和数据分析包工具——pandas
现在有一个csv文件,内部数据为:
使用pandas.read_cvs来读取cvs文件数据,其中food_info为DataFrame类型,这个是pandas的核心结构,food_info.dtypes可以看出来从文件中读取出来数据的类型,其中object为字符型
显示读取的数据,从头开始显示,和从尾开始显示
head(3)为重头开始显示3行,如果不指定显示几行那么默认显示五行,tail为从尾部开始显示,如果不指定则默认显示5行
也可以通过函数loc来获取指定行的数据
获取第三行数据,当然取数据也可以通过切片的方式来获取数据
通过切片获取第3行到第7行的数据,也可以取指定的多行,通过列表的方式指定索引,指定所要取的第几行
上面的读取是从行的角度,还可以从列的角度来读取一列数据,通过列名,DataFrame默认文件中最上面的一行为列名
可以看出通过列名NDB_No获取到了该列的数据,如果指获取一个列那么就只需要一个列明,如果想要获取多个列那么就可以通过列表传递多个列名,获取多个列的数据
获取所有列中单位以mg为单位的列
程序思想是,获取所有的列名,然后遍历,看哪一个是以mg结尾的,哪个是
food_info.columns.tolist()为获取所有的列名封装成一个列表
获取到列数据之后,除以一个数等于列中所有数据除以这个数,返回一个新的列
加减乘除一个数就是这个列的所有数据同时加减乘除这个数
两个相同样本维度的列相乘等于对应位置的相乘
两个相同样本维度的列的加减乘除等于对应位置的加减乘除
添加一个新的列,方法就是DataFrame[新列名]=列
上面可以看出我们添加了一个列名为37的列,其内容是Icon和Icon1这两个列的乘积,可以看出新的列添加完成之后,该DataFrame的列为37比之前的36多了一列
可以通过max()和min()方法,求出当前列的最值
排序
使用sort_values进行指定列的从小到大的排序,其中第一个参数为所要排序的列。第二个参数为inplace=“true”这个意思是排序之后的结果是否保存到当前的DataFrame中,默认为false,如果设置为true那就是保存到当前的DataFrame中,所以我们可以直接输出food_info看到排序之后的结果
默认是从小到大的排序,可以通过增加参数ascending=False来实现
ascending=False写的时候写成ascending=“False”没有效果,所以这种真假以后就全用首字母大写,且不加引号