入门pandas—数据填充
汇总
pd.read_excel参数:
skiprows=行数 #跳过几行
usecols=“区域” # 和Excel中一样,就是一个列的区域
index_col=“字段名” # 将谁设置为索引
dtype={‘序号’:str,‘性别’:str,‘日期’:str} # 防止出错,把类型全指定为字符型
数据.at的用法
作用:获取某个位置的值,例如,获取第0行,第a列的值,即:index=0,columns=‘a’ (可以将列省略)
变量名 = 数据.at[0, ‘a’]
变量名 = 数据.at[i] #获取第i行
跳过空行空列
import pandas as pd
path = 'C:/Users/Administrator/Desktop/playground2/自动填充.xlsx'
data = pd.read_excel(path,skiprows=8,usecols='F:I') #skiprows是跳过前8行 连列名也算 # usecols是选取列
print(data)
填充
填充数字
import pandas as pd
path = 'C:/Users/Administrator/Desktop/playground2/自动填充.xlsx'
data = pd.read_excel(path,skiprows=8,usecols='F:I',dtype = {'序号':str,'性别':str,'日期':str}) #改成字符串的形式,这样生成的序号就不会是浮点
for i in data.index:data['序号'].at[i] = i + 1 #每一行序号id都要比索引大1
print(data)
序号 姓名 性别 日期
0 1 张三 NaN NaN
1 2 李四 NaN NaN
2 3 王五 NaN NaN
填充文字
for i in data.index:data['序号'].at[i] = i + 1data['性别'].at[i] = '男' if i%2 == 0 else '女' #根据索引填充性别
print(data)
序号 姓名 性别 日期
0 1 张三 男 NaN
1 2 李四 女 NaN
2 3 王五 男 NaN
填充日期 (datetime)
timedelta:加天,小时,秒,毫秒
import pandas as pd
import datetime as dt #导入日期模块
start = dt.date(2020,1,1) #设置开始日期
path = 'C:/Users/Administrator/Desktop/playground2/自动填充.xlsx'
data = pd.read_excel(path,skiprows=8,usecols='F:I',dtype = {'序号':str,'性别':str,'日期':str})
for i in data.index:data['序号'].at[i] = i + 1data['性别'].at[i] = '男' if i%2 == 0 else '女'data['日期'].at[i] = start+dt.timedelta(days = i) # timedelta只能加天,小时,秒,毫秒
print(data)
序号 姓名 性别 日期
0 1 张三 男 2020-01-01
1 2 李四 女 2020-01-02
2 3 王五 男 2020-01-03
date:年上累加
data['日期'].at[i] = dt.date(start.year+i,start.month,start.day) #只需要在年份上加即可
序号 姓名 性别 日期
0 1 张三 男 2020-01-01
1 2 李四 女 2021-01-01
2 3 王五 男 2022-01-01
月上累加
import pandas as pd
import datetime as dt #导入日期模块
start = dt.date(2020,1,1) #设置开始日期
def func(d,m): #设置函数 d指开始日期 m指传入的月份year = m//12 #例如传进来的月份是30 就是30//12 为两年month = d.month+m%12 #月份的余数 30%12 为6个月if month!=12:year = year + month//12 #比如上面月份为7+6=13,则要加的年份为2+1 3年month = month%12 #年份加1后 余数为1 月份变为1月return dt.date(d.year+year,month,d.day)
path = 'C:/Users/Administrator/Desktop/playground2/自动填充.xlsx'
data = pd.read_excel(path,skiprows=8,usecols='F:I',dtype = {'序号':str,'性别':str,'日期':str})
for i in data.index:data['序号'].at[i] = i + 1data['性别'].at[i] = '男' if i%2 == 0 else '女'data['日期'].at[i] = start+dt.timedelta(days = i)data['日期'].at[i] = func(start,i) #使用函数
print(data)
序号 姓名 性别 日期
0 1 张三 男 2020-01-01
1 2 李四 女 2020-02-01
2 3 王五 男 2020-03-01
设置索引
这个时候,设置索引不能在read_excel中完成,因为我们在填充时用到他的自动索引,需要用另一个方法设置索引
data.set_index('序号',inplace=True) #最后重新设置索引,将序号替换原有的
姓名 性别 日期
序号
1 张三 男 2020-01-01
2 李四 女 2020-02-01
3 王五 男 2020-03-01
入门pandas—数据填充相关推荐
- 入门pandas—数据替换
替换全部或者某一行 原数据 国家 省市 城市 城市2 数值 0 中国 北京 城八区 城八区 100 1 中国 北京 城八区 城八区 A 2 中国 NaN 城八区 城八区 B 3 中国 北京 城八区 城 ...
- python3行3列文件数据赋值_Python3快速入门(十四)——Pandas数据读取
Python3快速入门(十四)--Pandas数据读取 一.DataFrame IO 1.CSV文件 pandas.read_csv(filepath_or_buffer, na_values='NA ...
- Python3快速入门(十四)——Pandas数据读取
Python3快速入门(十四)--Pandas数据读取 一.DataFrame IO 1.CSV文件 pandas.read_csv(filepath_or_buffer, na_values='NA ...
- pandas使用pct_change函数计算数据列的百分比变化:计算当前元素和前一个元素之间的百分比变化(包含NaN值的情况以及数据填充方法)
pandas使用pct_change函数计算当前元素和前一个元素之间的百分比变化:默认情况下pct_change函数计算与紧邻前一行相比的百分比变化.计算当前元素和前一个元素之间的百分比变化(包含Na ...
- 数据预处理+缺失值处理方案+Missing Value+pandas+缺失值填充方法、方案
数据预处理+缺失值处理方案+Missing Value+pandas+缺失值填充方法.方案 缺失值+sklearn from sklearn.preprocessing import Imputer ...
- (转)十分钟入门pandas
本文是对pandas官方网站上<10 Minutes to pandas>的一个简单的翻译,原文在这里.这篇文章是对pandas的一个简单的介绍,详细的介绍请参考:Cookbook . 习 ...
- linux pandas教程_十分钟入门 Pandas
# 十分钟入门 Pandas 本节是帮助 Pandas 新手快速上手的简介.烹饪指南里介绍了更多实用案例. 本节以下列方式导入 Pandas 与 NumPy: In [1]: import numpy ...
- 极速入门Pandas数据分析
极速入门Pandas数据分析 数据载入 DataFrame Pandas 有 Series 和 DataFrame 两种数据结构,对应一维数组和二维表,Series 可以理解成是一个只有一列的 Dat ...
- Pandas简明教程:八、Pandas数据透视表
透视表(pivot)是由微软发明的一个概念,1993年微软注册了PivotTable这一商标,而他们又在2020年正式撤销了注册. 关于透视表的话题随便搜搜就是一大堆,而有些地方可能都吹得很神了.透视 ...
- 【Python】图解Pandas数据合并:concat、join、append
公众号:尤而小屋 作者:Peter 编辑:Peter 图解pandas数据合并:concat+join+append 在上一篇文章中介绍过pandas中最为常用的一个合并函数merge的使用,本文中介 ...
最新文章
- 关于移动端架构的好的学习网站
- 三星关闭shell提示_凌晨系统崩溃,低级千年虫问题,三星就是这样将中国市场拱手相让...
- Python如何将列表分成均匀大小的块?
- js滚动条滚动到指定元素
- 不会使用Spring的配置文件,赶紧把这个甩给他
- 【算法】剑指 Offer 61. 扑克牌中的顺子 【重刷】
- 解释下列术语堆栈型计算机,第二章 计算机指令集结构
- OpenWrt常用命令总结
- winxp---执行任务计划
- 【人脸识别】基于matlab GUI PCA人脸识别【含Matlab源码 748期】
- yacc语法分析minipascal_用Yacc实现语法分析器-4-编译原理
- vscode写的html网页中文乱码
- Excel对比两个Sheet数据的异同
- 以太网速率怎么手动设置_交换机如何配置速率和双工模式
- 数据库基本操作和练习
- 利用docker制作Java程序镜像
- PHP下制作图灵机器人程序
- 类人机器人AI系统进阶模型 - 试论计算机模拟意识
- 概要设计和详细设计模板_网站模板不用设计 直接下载免费网站模板
- Ubuntu安装已下载了.deb文件的软件
热门文章
- 12星座的出生年月日性格_十二星座的出生日期及对应性格
- 双曲正切matlab,如何在MatLab中用双曲正切拟合数据点?
- js逆向案例-zzjg之jy/woff.2
- 酒店客房管理系统(JAVA,JSP,SERVLET,MYSQL)
- RecordCount=-1问题
- 数据库实验课堂作业-1.1数据定义
- 用Excel做相关性分析
- 无线音箱解决方案开发过程
- qq说说时间轴php实现,qq空间时间轴PHP实现时间轴函数代码
- MongoDB 后台创建索引、查看创建进度等