import pandas
import re
mystring = “有1.345mm”
result = re.search("\d+(.\d+)?",mystring)
print(result.group(0))
string2 =“Mike John Jack Lind Cara Cindy Lucy Henry Cara”
result1 = re.search(“Mike(.+) Cara”, string2)
if result1:
print(result1.group(1))
Mike*.Cara
Mike(.)Cara
Mike.?Cara
Mike(?:.*?)Cara
data_group=pandas.read_csv(r"/Users/JMP/Jmp_data/Python/PDABook/第五章/5.3 分组分析/分组分析.csv")
print(data_group[data_group[‘gender’] == “男”])
print(data_group[data_group.id_num.str.contains(“320”)])
id startswith 330 and birthday ==1990
print(data_group[(data_group.birthday.str.contains(“1990”)) & (data_group.id_num.str.startswith(“330”))])
p_table =data_group.pivot_table(values=‘age’, index=‘gender’,aggfunc=(‘count’,“mean”))
p_table.to_csv(“pivot_table_output.csv”)
groupby fucntion to index data.
ga= data_group.groupby(by=“gender”)[‘age’].agg([“mean”,“std”,‘count’])
print(ga)
处理缺失数据
NA处理方法
dropna、fillna
isnull、notnull
过滤缺失数据
dropna返回一仅含非空数据和索引值的Series=data.notnull();对于df会丢弃任何含有na的行,传入how='all’只丢弃全为NA的行;丢弃列则传入axis=1
thresh参数
填充缺失数据
fillna方法参数
value用于填充的值或字典对象
method填充方法,默认ffill
axis默认0即行,axis=1为列
inplace是否产生副本
limit填充最大连续数量
层次化索引
7.数据规整化:清洗、转换、合并、重塑
合并数据集
pandas内置方法合并
pandas.merge根据一个或多个键连接不同的df,实现数据库的连接操作
pandas.concat沿一条轴合并多个对象