pandas的数据处理基础一——0716

第一步:

指定文件的编码类型:

# -*- coding: utf-8 -*-

#作为一个纯文科生,虽然知道需要指定,还是记录下来吧,免得忘记了。

第二步:数据读取的问题

food_info  = pd.read_csv("C:\Users\enryl\PycharmProjects\data/food_info.csv")

(unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

上面那段执行后报如上错误,原因是:

在Python中 是转义符,\u表示其后是UNICODE编码,因此\User在这里会报错,在字符串前面加个 r(rawstring  原生字符串),可以避免python与正则表达式语法的冲突!

修改后为:food_info = pd.read_csv(r"C:\Users\enryl\PycharmProjects\data/food_info.csv")  即可正常读取数据

第三步:显示数据的前几行

df.head()/df.head(10)

如果不指定则是默认读取前5行,如果需要选择具体的行数,则在里面输入需要读取的行数即可。

food_info.tail(1) 表示显示最后结尾几行

第四步:获取数据的列名称

df.columns 

获取数据的某一列,通过索引的方式,前面控制的是获取的第几行的数据。 
food_info.iloc[0:5,[1]]

最终获取的是一个list的结果,表示获取了数据的所有列名称

第五步:获取数据的大小属性

df.shape

food_info.shape
Out[18]: 
(8618, 36)

说明数据是8618行,每一行有36个指标特征

第六步:取一些特殊位置的数据

df.loc[3:5] 这里是获取基本的行数据,不包含前面包含后面那一行的数据,特别注意,python的索引是从0开始的。

获取列数据的方法:

第一种方法:根据列名字获取

food_info['NDB_No']
Out[20]: 

food_info[['NDB_No','Shrt_Desc']]
如上,则取出来的是两列的数据

第二种方法,通过loc和iloc获取数据行和列

基本的loc是获取行数据,可以直接通过索引获取。

这里学习这个帖子的,写的很清楚:

https://blog.csdn.net/w_weiying/article/details/81411257

第七步:对某些列的数据进行筛选和初步的数据处理

food_info['Water_(kg)']=food_info['Water_(g)']/100  #新建一列,根据需要对数据进行处理
food_info.loc[0:5,['Water_(kg)','Water_(g)']]
Out[49]: 
   Water_(kg)  Water_(g)
0      0.1587      15.87
1      0.1587      15.87
2      0.0024       0.24
3      0.4241      42.41
4      0.4111      41.11
5      0.4842      48.42
 

第八步:对某些列进行加减乘除的操作,同时赋值到新的的列里面去

water_energ = food_info['Water_(g)']*food_info['Energ_Kcal']
water_energ.head(10)
food_info['water_energ']  =water_energ
food_info.shape

第九步:对现有的数据进行排序

food_info.sort_values('Sodium_(mg)',ascending=False)
#默认是升序的操作,ascending=False 则是降序的操作了

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值