今天咱们继续讲下Python中一款数据分析很好的库。Pandas的学习app
接着上回讲到的,若是有人听不懂,麻烦去翻阅一下我前面讲到的Pandas学习(一)学习
若是咱们在数据中,想去3,4,5这几行数据,那么咱们怎么取呢?spa
food.loc[3:6]
能够看到,这种取法跟Python中,切片操做同样。code
若是我想去单独某几条数据,只须要传入index值便可blog
food.loc[[2,5,10]]
若是我先想不经过行去取数据,想经过列去取数据的话,咱们该怎么作呢??ip
咱们能够经过列名去拿取数据数据分析
col_NB = food["NDB_No"] print(col_NB)
能够看到,咱们取到了第一列的数据出来。it
那么咱们想取两列数据出来,咱们应该怎么操做呢?class
方法跟上面同样,将列名加到里面,组成一个list列表。方法
col_2 = ["Zinc_(mg)","Copper_(mg)"] col_2_all = food[col_2] print(col_2_all)
来咱们看下数据上面,有些列名是带了单位的,那么咱们怎么选择其中某几个同样单位的列呢?
咱们先要取到所有的列名,而后将列名中带有单位(g)的列名取出,并单独放到一个列表中,最后在取这个列表中的列的数据便可
col_names = food.columns.tolist() print(col_names) gram_columns = [] for c in col_names: if c.endswith("(g)"): gram_columns.append(c) gram_df = food[gram_columns] print(gram_df.head(3))
这些都是些简单的操做,
再好比说,咱们想进行一些加减乘除的操做。
我想把单位为mg的数据,转换成g的数据,这里的作法,就跟Numpy是相似的。
print(food["Iron_(mg)"]) div_1000 = food["Iron_(mg)"]/1000 print(div_1000)
咱们在对某个数据上进行操做,便可获得咱们想要的结果。
water_energy = food["Water_(g)"]*food["Energ_Kcal"]
对应位置的乘法操做,须要保证的是,维度要相同才能够!
water_energy = food["Water_(g)"]*food["Energ_Kcal"] water_energy = food["Water_(g)"]*food["Energ_Kcal"] iron_grams = food["Iron_(mg)"]/1000 print(food.shape) food["Iron_(g)"]=iron_grams print(food.shape)
上一段代码能够看到,咱们把一列名称的值,进行单位转换,把mg转换为g,而后新建了一列数据
将这列数据放到数据集中,以前打印出来的数据维度,8618个样本,和36个属性值。后面打印的
是37个属性值,也就是咱们将新的属性值,放入到原来的数据值中了!前提是,其中的维度要对应上才能够。
weighted_protein = food["Protein_(g)"]*2 weighted_fat =-0.75* food["Lipid_Tot_(g)"] initial_rating = weighted_protein + weighted_fat
好比说这些运算操做, 维度同样,至关于对应位置进行运算。
跟Numpy同样,咱们也有一些别方法,求最大值,最小值,平均值等等
方式基本上跟Numpy相似。
今天就先讲到这里。感谢你们的阅读!感谢~~