dataframe的一些用法
pandas中Dataframe的一些用法
pandas读取excel文件
- pd.read_excel 前提是安装xlrd库
dataframe,numpy,list之间的互相转换
- dataframe转numpy :dataframe对象.values
- dataframe转list:dataframe对象.values.tolist()
- list转numpy:np.array(list对象)
- list转dataframe:pd.DataFrame(list对象)
- numpy转list:numpy对象.tolist()
- numpy转dataframe:pd.DataFrame(numpy对象)
dataframe 按行遍历,按列遍历
按行遍历:
常用df.iterrows()
import pandas as pd
demo_list = [[1,2],
[3,4]]
#用list构建dataframe
demo_df = pd.DataFrame(demo_list)
print(demo_df)

#接上
for row in demo_df.iterrows():
print(type(row))
print(row[0])
print(row[1])

可以看到每个row的类型是tuple元组类型,元组长度为2,元组第0个元素为index,第1个元素为横向的series。**值得注意的是,在遍历过程中如果取每一行的某个值,通过对row[1]进行切片即可。 **
按列遍历
经常使用df.columns获取列名然后访问
#接上
print(demo_df.columns)
for column in demo_df.columns:
print(demo_df[column])

dataframe之使用iloc切片
- 先构建dataframe
import numpy as np
import pandas as pd
##list构建5x5的dataframe,由于dataframe没有reshape,因此需要借助numpy
demo_list = [i for i in range(25)]
demo_np = np.array(demo_list).reshape(5,5)
demo_df = pd.DataFrame(demo_list)
print(demo_df)

- iloc[start:end ,start :end ]表示按行列取出dataframe的值。其中逗号前面表示行,逗号后面表示列。冒号左侧表示开始,冒号右侧表示结束(遵循左闭右开原则)。例如,demo_df.iloc[2:4,1:3]表示切片第二行到第三行 第一列到第二列数据。 切片返回的数据类型还是dataframe。

- iloc[start: end :step,start:end :step]是在上一个切片的基础上加上了步长。表示从start到end每step步取一次值。
dataframe 中缺失值的处理
均值填充
通常使用fillna()
##获取存在缺失值的列名列表
null_columns=list(file_df.columns[file_df.isnull().sum() > 0])
for column in null_columns :
#计算每一列的均值
mean_val = file_df[column].mean()
#使用fillna进行均值填充
file_df[column].fillna(mean_val, inplace=True)
dataframe的一些用法的更多相关文章
- DataFrame的apply用法
DataFrame的apply方法: def cal_value_percent(row,total_value): row['new_column']=row[estimated_value_col ...
- python对dataframe的相关用法
1.选择列名包含特殊字符的列 d2 = d1.loc[:, d1.columns.str.contains('vib')] 2.选择列名开头为包含特殊字符的列 df2 = df1.loc[:, df1 ...
- Pandas 基础(2) - Dataframe 基础
上一节我们已经对 Dataframe 的概念做了一个简单的介绍, 这一节将具体看下它的一些基本用法: 首先, 准备一个 excel 文件, 大致内容如下, 并保存成 .csv 格式. 然后, 在 ju ...
- spark学习(1)---dataframe操作大全
一.dataframe操作大全 https://blog.csdn.net/dabokele/article/details/52802150 https://www.jianshu.com/p/00 ...
- Spark实战电影点评系统(二)
二.通过DataFrame实战电影点评系统 DataFrameAPI是从Spark 1.3开始就有的,它是一种以RDD为基础的分布式无类型数据集,它的出现大幅度降低了普通Spark用户的学习门槛. D ...
- spark自定义函数之——UDF使用详解及代码示例
前言 本文介绍如何在Spark Sql和DataFrame中使用UDF,如何利用UDF给一个表或者一个DataFrame根据需求添加几列,并给出了旧版(Spark1.x)和新版(Spark2.x)完整 ...
- PySpark 大数据处理
本文主要介绍Spark的一些基本算子,PySpark及Spark SQL 的使用方法. 虽然我从2014年就开始接触Spark,但几年来一直没有真正地学以致用,时间一久便忘了如何使用,直到在工作中用到 ...
- pandas-03 DataFrame()中的iloc和loc用法
pandas-03 DataFrame()中的iloc和loc用法 简单的说: iloc,即index locate 用index索引进行定位,所以参数是整型,如:df.iloc[10:20, 3:5 ...
- 转化dataframe中一组序列为时间序列的方法-to_datetime()的最新用法
一.to_datetime()的最新用法: hs300_hf['date'] = pd.to_datetime(hs300_hf['date']) hs300_hf.set_index('date', ...
随机推荐
- DWVA-XSS部分练手闯关
前言 关于XSS基础内容请查看:https://www.cnblogs.com/xhds/p/12239527.html 实验平台采用DWVA v1.10 XSS(Reflected)反射性XSS漏 ...
- Python:安装Bio库不成功,出现ModuleNotFoundError: No module named 'Bio'
Bio库的安装并不是pip install bio,而是biopython. ./anaconda3/bin/pip3 install biopython -i https://pypi.douban ...
- Hadoop大数据平台之HBase部署
环境:CentOS 7.4 (1708 DVD) 工具:Xshell+Xftp 1. 使用xftp将hbase上传到/usr/local目录下,将其解压并重命名. 2. 配置conf目录下的hbas ...
- 面试官:连Spring AOP都说不明白,自己走还是我送你?
前言 因为假期原因,有一段时间没给大家更新了!和大家说个事吧,放假的时候一位粉丝和我说了下自己的被虐经历,在假期前他去某互联网公司面试,结果直接被人家面试官Spring AOP三连问给问的一脸懵逼!其 ...
- 这篇SpringBoot整合JSON的学习笔记,建议收藏起来,写的太细了
前言 JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛. 采用完全独立于编程语言的文本格式来存储和表示数据. 简洁和清晰 ...
- 有什么好用的Mac数据恢复软件
对于第一次上手苹果电脑的人来说,使用起来难免有点小难受,因为对苹果电脑操作系统不熟练,发生误删数据的事情也是屡见不鲜. 那么对于这种情况我们该怎么办呢?不用担心,今天小编就为大家推荐一款好用的苹果数据 ...
- iMindMap组织结构视图在工作上的应用体现在哪些方面
iMindMap的组织结构图视图,可以将信息.想法和流程整合起来.本文,我们将讲述iMindMap组织结构图视图的3个实例应用. iMindMap组织结构视图 简化您的工作流程 通过在工作中构建组织结 ...
- 教您使用OCR编辑器复制文档内容
ABBYY FineReader 15允许用户复制图像或者扫描页面上的内容,可复制其中的文本.图片和表格的信息.在复制过程中,用户无需将图像或扫描页面转换为可编辑的格式,可以直接在ABBYY Fine ...
- J2EE基本概念
XO POJO:Plain Ordinary Java Object,简单java对象 PO:Persistant Object,持久层对象(对应数据库中一条记录) BO:Business Objec ...
- 拿到这份 Java、C++ 软件开发完整学习路线图,我面试再也没挂过..
大家好,我是柠檬. 柠檬哥作为一个普通大学.非计算机专业,自学后端技术进入腾讯做后端开发工作,我自己也是非科班自学计算机成功转行软件开发(有想听柠檬哥转行之路经历的吗,可以留言告诉我,人多就写写),体 ...