【笔记】python数据分析——pandas之增删查改
## 往期数据分析笔记[【笔记】python数据分析——numpy初识1](https://www.52pojie.cn/thread-1381772-1-1.html)
[【笔记】python数据分析——numpy初识2](https://www.52pojie.cn/thread-1382691-1-1.html)
[【笔记】python数据分析——变换与编程中的轴](https://www.52pojie.cn/thread-1383508-1-1.html)
[【笔记】python数据分析——numpy随机数函数](https://www.52pojie.cn/thread-1386199-1-1.html)
[【笔记】python数据分析——numpy数组索引及切片](https://www.52pojie.cn/thread-1386446-1-1.html)
[【笔记】python数据分析——元素级运算及通用函数](https://www.52pojie.cn/thread-1387623-1-1.html)
[【笔记】python数据分析——条件逻辑运算](https://www.52pojie.cn/thread-1387803-1-1.html)
[【笔记】python数据分析——统计学运算](https://www.52pojie.cn/thread-1387994-1-1.html)
[【笔记】python数据分析——矩阵相乘](https://www.52pojie.cn/thread-1388004-1-1.html)
[【笔记】python数据分析——应用案例之图像负片](https://www.52pojie.cn/thread-1389426-1-1.html)
[【笔记】python数据分析——pandas初识](https://www.52pojie.cn/thread-1390118-1-1.html)
## pandas的增删查改
### 增加数据(append)
- Series增加数据
```
from pandas import Series,DataFrame
obj = Series(,index = ['a','b','c','d'])
append_data = Series(,index = ['e','f'])
obj2 = obj.append(append_data)
print(obj2)
```
运行结果:
a 1
b 2
c 3
d 4
e 5
f 6
dtype: int64
- DataFrame增加数据
```
data={
'name':['张三','李四','王五'],
'age':
}
obj=DataFrame(data)
print(obj)
new_data={'name':'赵六','age':10}
obj2=obj.append(new_data,ignore_index=True)
print(obj2)
```
运行结果:
nameage
0 张三 30
1 李四 40
2 王五 10
3 赵六 10
**注意:DataFrame添加数据需要添加ignore_index,自动加一个索引,不然的话会缺少索引**
### 删除数据(drop)
- Series删除数据
```
obj = Series(,index = ['a','b','c','d'])
obj2 = obj.drop('a')
print(obj2)
```
运行结果:
b 2
c 3
d 4
dtype: int64
- DataFrame删除数据
**删除行**
```
obj3=obj2.drop(3)
print(obj3)
```
运行结果:
nameage
0 张三 30
1 李四 40
2 王五 10
**删除列**
```
obj3=obj2.drop('name',axis=1)
print(obj3)
```
运行结果:
age
0 30
1 40
2 10
3 10
这里我们使用了我们之前讲过的轴的概念,0轴是行,1轴是列,上面代码的意思就是删除name那一列
### 查询数据(loc)
- Series查询数据
```
obj=Series(,index=['a','b','c','d'])
print(obj)
print(obj['a':'c'])
```
运行结果:
a 1
b 2
c 3
dtype: int64
**注意:按照我们之前学python原生列表,a-c的话取到的只能到b,但是pandas不同,它是可以取到最后一个的**
- DataFrame查询数据
**查询列**
```
print(obj['name'])
print(obj[['name','age']])
```
运行结果:
0 张三
1 李四
2 王五
Name: name, dtype: object
nameage
0 张三 30
1 李四 40
2 王五 10
DataFrame数据选列直接把列名放进去,多列的话就是用多重列表
**查询行**
```
print(obj.loc)
print(obj.loc[])
```
运行结果:
name 李四
age 40
Name: 1, dtype: object
nameage
0 张三 30
1 李四 40
选取行,就是第0行,第1行,多行的话依然使用多重列表
### 修改数据(rename)
- Series修改数据
```
obj = Series(,index = ['a','b','c','d'])
obj['a'] = 10
print(obj)
```
运行结果:
a 10
b 2
c 3
d 4
dtype: int64
- DataFrame修改数据
```
obj4=obj2.rename(columns={'name':'Name'},index={0:9,1:3})
print(obj4)
```
运行结果:
Nameage
9 张三 30
3 李四 40
2 王五 10
3 赵六 10
**修改,没办法修改表格的数据,只是修改行名列名
修改列的话,就直接用index索引就可以,行的0改为9,1改为3**
## 今日鸡汤
真实的人生本就琐碎,如何去桥接,过渡,贯穿,这个就要看你的咯! fyop 发表于 2021-3-14 00:14
新手前来学习,持续关注
感兴趣的话可以从头开始看,有不懂得可以在帖子下面问我,我绝对尽我最大的努力解答 对新手有大用! 好高深的样子,收藏一下 学习了,本人就是程序员,特来学习 总结得很好,学习了{:1_893:} KunGe. 发表于 2021-3-13 23:59
对新手有大用!
这个笔记挺适合零基础的同学的 新手前来学习,持续关注:lol 谢谢分享,非常有用,再次感谢! 收藏一下,学习有用哦