pnadas——对象的增删查改(Series,DataFrame)

对象的增删改查

import pandas as pd
import numpy as np
手动方法构造Series
data = np.arange(10)
index = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
s = pd.Series(data, index)
s
a    0
b    1
c    2
d    3
e    4
f    5
g    6
h    7
i    8
j    9
dtype: int32

查询

s[2]
2
s[:5]
a    0
b    1
c    2
d    3
e    4
dtype: int32
s[[2, 5, 9]]
c    2
f    5
j    9
dtype: int32
mask = [True, False, False, False, True, False, False, False, False, True]
s[mask]
a    0
e    4
j    9
dtype: int32
s.loc['c']      # loc 根据 label 进行索引
2
s.iloc[0]       # iloc 根据 index 进行索引
0

修改

s1 = s.copy()
1. 直接赋值
s1[2] = 100     # 直接赋值
s1[2]
100
2. replace
s1.replace(to_replace=100, value=101 )    # to_replace 表示要被修改的值  value 表示修改为多少
a      0
b      1
c    101
d      3
e      4
f      5
g      6
h      7
i      8
j      9
dtype: int32
s1 
p      0
q      1
x    100
y      3
z      4
m      5
n      6
u      7
s      8
t      9
dtype: int32
3.修改索引
s1.index = ['p', 'q', 'x', 'y', 'z', 'm', 'n', 'u', 's', 't']   s
.s1
p      0
q      1
x    100
y      3
z      4
m      5
n      6
u      7
s      8
t      9
dtype: int32
s1.rename(index = {'q' : 'Q'}, inplace=True)     # 只修改一个索引 将 q 改为 Q 
s1
p      0
Q      1
x    100
y      3
z      4
m      5
n      6
u      7
s      8
t      9
dtype: int32

增加

1. 将一个 Series 追加到另一个 Series 尾部
s2 = pd.Series([15, 22], ['l', 'r'])      
pd.concat([s, s2] , ignore_index=False, axis=0)    # ignore_index 表示要不要为合并的新数据重新生成索引 默认为False  axis 指定沿哪个轴连接
b     1
c     2
d     3
e     4
f     5
g     6
h     7
i    52
j     9
l    15
r    22
dtype: int64
2. 直接指定
s['i'] = 52
s
a     0
b     1
c     2
d     3
e     4
f     5
g     6
h     7
i    52
j     9
dtype: int32

删除

del s1['p']    # del 方法 删除一行
Q      1
x    100
y      3
z      4
m      5
n      6
u      7
s      8
t      9
dtype: int32
s1.drop(['x', 'y'])   # drop 方法 删除多行
Q    1
z    4
m    5
n    6
u    7
s    8
t    9
dtype: int32

DataFrame中 操作方法和 Series 类似


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值