python dataframe增加数据_Pandas学习笔记(DataFrame基本操作)

本文详细介绍了如何使用Pandas DataFrame进行数据操作,包括数据选取、筛选、修改、添加列、删除列、增加行、删除行、修改索引、修改列名、数据类型转化、数据排序、数据去重等基本操作。通过实例演示了各种操作的代码实现,帮助读者深入理解DataFrame的使用技巧。
摘要由CSDN通过智能技术生成

对于生成的dDataFrame,下一步进行的是对他的基本操作,增、减、改、查。

一. 数据选取

从已有的DataFrame中取出其中一列或几列,并对其进行操作。

Pandas取出DataFrame的列有两种方式,两个方式没有好与坏之分,还是看个人喜欢用哪个

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

import pandas as pd

df = pd.DataFrame({'goods':['coke cola', 'eggplant','condom'], 'quantity':[12,3,1], 'price':[20,12,80]})

df['goods']     #选择df的goods这一列

df.goods         #同上,是选择列的第二种方法    需要注意的是,第一种方法看似像是一种列表形式,但是如果像是如下方式书写代码会报错

df['goods','quantity']     #会报错,不要妄想通过这种方式获取多列。   上方的形式会引发一个KeyError的错误。如果想通过第一种形式获取多列,正确的形式如下

df[['goods','quantity']]    将多列的列名按照一个list的形式传入,就可以获取一个DataFrame的多列。

二. 数据筛选

往往选取出几个DataFrame的列并不能满足筛选,DataFrame的筛选的形式比较特殊,对列进行筛选时用到的是之前所讲的第二种选取列的形式,有点像是把列名视为一个DataFrame的属性。

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

import pandas as pd

df = pd.DataFrame({'goods':['coke cola', 'eggplant','condom'], 'quantity':[12,3,1], 'price':[20,12,80]})

print df[df.goods =='eggplant']     #      goods  price  quantity

# 1  eggplant     12         3    上面代码的意思是选取DataFrame中,goods列的值为'eggplant‘的所有行。DataFrame中也支持多条件筛选,与Python的判断语句相同,and、or、not 和 xor分别代表 和、或、非、抑或。也可以用符号代替 &、|、~、^。每个判断条件要用圆括号括起来,否则会报错

df[(df.goods =='eggplant') & (df.quantity == 12)]    选取df中 goods列值为 eggplant且 对应的 quantity值为12的所有列。

在筛选数据时候也可以使用loc和iloc函数实现子集的选取,意思并不是说上方的筛选语句不对,亲测同样很好用,而且代码简单了点。loc和iloc进行数据筛选的格式如下:

df = df.loc[df.goods=='eggplant', :].loc[]相当于是把想要筛选的列通过 ':'全部选出来。loc方法同样支持多条件筛选。

df = df.loc[(df.goods =='eggplant') & (df.quantity == 12), :]   loc形式的多条件筛选,条件与条件之间同样要使用括号分割开。这两行loc方法筛选的结果与之前没用loc方法写的代码效果是一样的,格式规范而言肯定是有loc的更容易让人理解。但是如果只是给自己写脚本完全可以用前一种,必要时候做个注释即可。

条件筛选的另一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值