pandas是为了解决数据分析任务而生的。pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法,能很好的帮助我们分析爬取到的数据。
环境准备
pandas、numpy
本篇所有代码都运行在jupyter上
目录
1、增加数据
2、删除数据
3、查询数据
4、修改数据
准备工作
先生成两个数据集
data
1、增加数据
合并数据
- 方法一:用concat合并
pandas.concat(objs,axis = 0,ignore_index = False,keys = None)
objs:Series,DataFrame或Panel对象的序列或映射。
axis:串联的轴,默认为0,即以索引串联(竖直拼接);如果为1,则以列串联(水平拼接)
ignore_index:清除现有索引并将其重置,默认为False。
key:在数据的最外层添加层次结构索引。
data_new = pd.concat([data, data2], axis=1)
运行结果:
![0c4ee4c4300c3ac7b0d915bd0008ba65.png](https://img-blog.csdnimg.cn/img_convert/0c4ee4c4300c3ac7b0d915bd0008ba65.png)
- 方法二:用merge合并
DataFrame.merge(self,right,how =‘inner’,on = None)
right:指要合并的对象
on:指要加入的列或索引级别名称,必须在两个DataFrame中都可以找到。
how:决定要执行的合并类型:left(使用左框架中的键)、right、inner(交集,默认)、outer(并集)
data.merge(data2,on='city',how='left')
运行结果:
![0a4f90eb59e663ac18cbbbbc056a9ec7.png](https://img-blog.csdnimg.cn/img_convert/0a4f90eb59e663ac18cbbbbc056a9ec7.png)
- 方法三:用join合并
这种方法需要指定相同列索引的后缀
1、
data.join(data2,lsuffix='_data', rsuffix='_data2')
运行结果:
![010f0853ac70409db572b1b7a7b12c20.png](https://img-blog.csdnimg.cn/img_convert/010f0853ac70409db572b1b7a7b12c20.png)
2、
data.set_index('city').join(data2.set_index('city'))
运行结果:
![be8ddca9511d8127433038c6686d38bc.png](https://img-blog.csdnimg.cn/img_convert/be8ddca9511d8127433038c6686d38bc.png)
- 方法四:用append合并
data.append(data2)
运行结果:
![c4e4a24390fae0fe83a4baa8e9b54bd0.png](https://img-blog.csdnimg.cn/img_convert/c4e4a24390fae0fe83a4baa8e9b54bd0.png)
- 增加列
city = ['南京', '杭州', '合肥', '青岛']
data.insert(0,'city2', city)
在第0列,加上column名称为city2,值为city的数据。
运行结果:
![181ca7bfe7fa893ebf9bc2339c700ca8.png](https://img-blog.csdnimg.cn/img_convert/181ca7bfe7fa893ebf9bc2339c700ca8.png)
2、删除数据
- 删除包含某值的行
data1 = data2[data2.city != '深圳']
去掉city为深圳的行
运行结果:
![618487fc7aacf8d0a40db80787691fe9.png](https://img-blog.csdnimg.cn/img_convert/618487fc7aacf8d0a40db80787691fe9.png)
- 删除行
data2.drop([0, 1], axis=0)
运行结果:
![664a7506a83cf3a75e4c697e5c0f6c0b.png](https://img-blog.csdnimg.cn/img_convert/664a7506a83cf3a75e4c697e5c0f6c0b.png)
- 删除列
data2.drop(['city'], axis=1)
运行结果:
![03ef9c3b4c1d1125d2e26637e2f4689c.png](https://img-blog.csdnimg.cn/img_convert/03ef9c3b4c1d1125d2e26637e2f4689c.png)
- 删除重复行
data['city'].drop_duplicates()
默认删除后面出现的重复值,即保留第一次出现的重复值
3、查询数据
- 1、data['column_name'] 和data[row_start_index, row_end_index]
- 2、data.loc[index,column]
- 3、iloc[row_index, column_index]
- 查看单列
data['city']
运行结果:
![4d5fd5f2738a922e7db2e6d37d2f7490.png](https://img-blog.csdnimg.cn/img_convert/4d5fd5f2738a922e7db2e6d37d2f7490.png)
- 查看多列
data[['city', '2018']]
运行结果:
![6695db9fbeb8591eecb4e8386f98b5e2.png](https://img-blog.csdnimg.cn/img_convert/6695db9fbeb8591eecb4e8386f98b5e2.png)
- 查看行
data.loc[2]
运行结果:
![409214381f19f66d935ff0479d6f95cd.png](https://img-blog.csdnimg.cn/img_convert/409214381f19f66d935ff0479d6f95cd.png)
data.loc[1:1]
运行结果:
![e47cb0d8ca9598a3e5185fd8b200d71d.png](https://img-blog.csdnimg.cn/img_convert/e47cb0d8ca9598a3e5185fd8b200d71d.png)
- 查看多行
data.loc[1:]
运行结果:
![71e4a81a719af8582fbafc56d3cd99e5.png](https://img-blog.csdnimg.cn/img_convert/71e4a81a719af8582fbafc56d3cd99e5.png)
data.iloc[1:,:1]
运行结果
![422bbcc3a66bcb5de6938602d8bee6ad.png](https://img-blog.csdnimg.cn/img_convert/422bbcc3a66bcb5de6938602d8bee6ad.png)
data.iloc[[1,3],:2]
运行结果:
![eb9405614eaf6e35871c3c10c9c0f60d.png](https://img-blog.csdnimg.cn/img_convert/eb9405614eaf6e35871c3c10c9c0f60d.png)
4、修改数据
- 修改某个数据
data.iloc[1,1] = 100
运行结果:
![9956a708c8a93d8f70a320d3805f4850.png](https://img-blog.csdnimg.cn/img_convert/9956a708c8a93d8f70a320d3805f4850.png)
data.loc[2,'city'] = '广州(粤语)'
运行结果:
![21ec1be219aefd535c784f229c1644b6.png](https://img-blog.csdnimg.cn/img_convert/21ec1be219aefd535c784f229c1644b6.png)
- 修改某列数据
data.iloc[:,1] = [1, 10, 100, 1000]
运行结果:
![06c24d3c2aa4b4147acffeeb64d26832.png](https://img-blog.csdnimg.cn/img_convert/06c24d3c2aa4b4147acffeeb64d26832.png)
- 修改某行数据
data.iloc[3,:] = ['深圳(普通话)', 1100]
运行结果:
![2a79e85b07e6714433994a8723da8981.png](https://img-blog.csdnimg.cn/img_convert/2a79e85b07e6714433994a8723da8981.png)
如果对你有帮助的话给我点赞呗