栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pandas之文件读取和数据处理

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pandas之文件读取和数据处理

1. pandas之文件读取 1.1 csv
  • pandas.read_csv(filepath, sep =',', usecols=None )
    • 读取csv类型文件
    • usecols:读取指定列
    • 返回值:Dataframe对象
  • dataFram.to_csv(filepath,sep=',',columns=None,header=True,index=True,mode='w',encoding=None)
    • columns:指定哪些列要写入文件
    • header:列索引是否写入文件
    • index:行索引是否写入文件
    • mode:文件写入模式
    • encoding:编码方式
2. pandas之数据处理 2.1 pandas关于数据处理的方法
  • pd.isnull(dataframe)
    • 每个元素判断
  • pd.notnull(dataframe)
    • 每个元素判断
2.2 datafram实例中处理缺失数据的方法
  • data[i].fillna(value=data[i].mean(),inplace=True)
  • data.dropna(axis='rows')
  • data.replace(to_replace,value=np.NaN)
2.3 利用pandas将数据离散化
  • pd.qcut(data,q)
    • 将data的值域划分为q个区间,使得每个区间上出现包含data的元素尽可能相同
    • data:一维数组,数值类型。
    • q:分组个数
    • 返回值:是个Series。index是data的index,value是data[index]所处的区间
  • pd.cut(data,bins)
    • data:同上
    • bins:一个列表,表示自定义的data的值域区间
    • 返回值:是个Series。index是data的index,value是data[index]所处的区间
# 自己指定分组区间
bins = [-100, -7, -5, -3, 0, 3, 5, 7, 100]
p_counts = pd.cut(p_change, bins)
  • pd.get_dummies(data,prefix=None)
    • 将data数据变为one-hot编码
    • data:要求一维数组
    • 返回值:是一个Dataframe对象。列索引代表data元素可能的取值。行索引就是data的index
2.4 利用pandas实现数据合并
  • pd.concat([data1,data2],axis=0)
    • data1,data2是Series对象或Dataframe对象
    • 默认垂直方向上拼接(axis=0)
  • pd.merge(left,right,how='inner',on=None)
    • 只能进行水平连接,类似于数据库连接查询
    • left:第一个Dataframe
    • right:第二个dataframe
    • how:以什么方式连接
      • left:左外连接
      • right:右外连接
      • outer:全连接
      • inner:内连接
    • on:连接的字段,连接字段可以多个(多个就用list封装)
2.5 利用pandas进行分组聚合
  • dataframe.groupby(key,as_index=True)
    • 按哪一列或哪几列作为分组条件(类比数据库分组)
    • 是否将key作为index
col.groupby(['color'])['price1'].mean()
col['price1'].groupby(col['color']).mean()

# 设置多个索引,set_index()
starbucks.groupby(['Country', 'State/Province']).count()
2.6 交叉表与透视表
  • pd.crosstab(series1,series2)
    • 查看两列数据的关系
    • series1与series2是Series类型,需要有相同的index
    • 返回一个Dataframe
    • 其实本质就是按(series1,series2)进行分组,在统计每个分组的count
  • dataframe.pivot_table([key1,key2],index=[])
    • 在dataframe中,以index作为行索引,查看key1列与key2列的关系。
    • 本质跟交叉表类似
    • 返回一个Dataframe对象

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/499057.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号