python操作数据
# 三、python操作数据
''''''
1、如何增加数据
2、如何删除数据
3、如何修改数据
4、如何查询数据
''''''
本文还以扑克牌为例,学习使用python对数据【增、删、改、查】
首先创建一个空白的DataFrame格式数据框
import numpy as np
import pandas as pd
# 创建一个空白的数据框
df = pd.DataFrame()
1、增加数据(增加行、列)
###增加列
#增加两行一列(在空白数据框中增加一列 编号)
df ['编号'] = [1,2]
df

# 指定位置增加一列 使用insert()函数
df.insert(1,'牌面',[A,2])
df

df.insert(1,'花色',['黑桃♠','红桃♥'])
df

###增加行
增加行,首先创建一个新的数据框,其中包含一张扑克牌,
使用append()函数把新牌添加进去,也可以用concat()函数。
# 定义一张新牌
p = pd.DataFrame{'花色':['红心'],'牌面':‘3’}
df2 = df.append(p,ignore_index = True,sort = False)
df2

#默认按照行的方向拼接两个数据框
pd.concat([df,p],ignore_index = True,sort = False)
###如果按照列的方向拼接,在concat()的参数中添加axis=1,
也可以使用merge()和join()函数代替。
2、删除数据
#删除行
##删除索引为0和2的行
df2.drop([0,2])


#删除列
###如果删除列,指定axis =1
#删除[花色]列
df2.drop(['花色'],axis=1)

##删除 [编号]列,del语句会直接删除列,del会改变原来的数据
del df2['编号']
df2

3、修改数据
#修改所有值、 修改某个值、修改列名、修改指定列名、修改指定索引
##修改所有值,replace()函数替换所有匹配数据
#将所有A修改为1
df3 = df2.replace('A',1)
df3

##修改某个值,loc定位后,直接赋值
df3.loc[0,'牌面'] = ‘J’
df3

###修改列名
df3.column = list('AB')
df3

###修改指定列名
df3.rename({'A':'花色'},axis=1)

###修改指定行索引
##若rename不指定axis参数,默认修改行索引
df3.rename({1:2,2:3})

4、查询数据
先从excel文件中读取数据,在用head()函数查询
df.head()
可以使用正则表达式的re模块,结合match()函数实现模糊查询
import re
df[df.牌面.str.match('[jk]',flags=re.IGNORECASE,na = false)]
df

##用query()函数尽心查询
###索引在1到5之间,且牌面不是A和30
card = ['A',30]
df.query(
'1<=index <=5 \
and 牌面 not ini @card'
)

#使用query查询,还可以在表达式中使用统计函数
#查询编号大于平均值,且牌面为A
df.query(
'index >=index.mean()\
and 牌面 ==A'
)

### python操作数据所用到的函数:

浙公网安备 33010602011771号