qianshang666 发表于 2021-3-13 23:53

【笔记】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**

## 今日鸡汤
真实的人生本就琐碎,如何去桥接,过渡,贯穿,这个就要看你的咯!

qianshang666 发表于 2021-3-14 00:16

fyop 发表于 2021-3-14 00:14
新手前来学习,持续关注

感兴趣的话可以从头开始看,有不懂得可以在帖子下面问我,我绝对尽我最大的努力解答

KunGe. 发表于 2021-3-13 23:59

对新手有大用!

15633738398 发表于 2021-3-14 00:02

好高深的样子,收藏一下

jianfeng 发表于 2021-3-14 00:04

学习了,本人就是程序员,特来学习

almo 发表于 2021-3-14 00:08

总结得很好,学习了{:1_893:}

qianshang666 发表于 2021-3-14 00:11

KunGe. 发表于 2021-3-13 23:59
对新手有大用!

这个笔记挺适合零基础的同学的

fyop 发表于 2021-3-14 00:14

新手前来学习,持续关注:lol

lookatnext 发表于 2021-3-14 06:33

谢谢分享,非常有用,再次感谢!

zhtzzx 发表于 2021-3-14 06:53

收藏一下,学习有用哦
页: [1] 2 3
查看完整版本: 【笔记】python数据分析——pandas之增删查改