pandasVSexcel 课程笔记 4-5

B站课程的学习笔记,含部分自己补充知识,课程链接:https://www.bilibili.com/video/av36643275/?p=3


1、读取excel中特定区域的内容

pandasVSexcel 课程笔记 4-5

pandasVSexcel 课程笔记 4-5

pandasVSexcel 课程笔记 4-5

 

2、填充ID列,数值

(1)ID列的类型为series数据类型(在series类型中填充数据):

pandasVSexcel 课程笔记 4-5pandasVSexcel 课程笔记 4-5

(2)利用for循环填充数据,注意ID列为空时默认为float型数据,故在读入excel时根据需要进行设置:

pandasVSexcel 课程笔记 4-5

pandasVSexcel 课程笔记 4-5

 

3、填充INSTORE列,交替填充进yes和no

pandasVSexcel 课程笔记 4-5

pandasVSexcel 课程笔记 4-5

 

4、填充DATA列,主要研究对于日期的填充

(1)datetime模块介绍(具体可查看https://www.cnblogs.com/awakenedy/articles/9182036.html

datetime模块中包含如下类:

类名

功能说明

date

日期对象,常用的属性有year, month, day

time

时间对象

datetime

日期时间对象,常用的属性有hour, minute, second, microsecond

datetime_CAPI

日期时间对象C语言接口

timedelta

时间间隔,即两个时间点之间的长度

tzinfo

时区信息对象

datetime模块中包含的常量

常量

功能说明

用法

返回值

MAXYEAR

返回能表示的最大年份

datetime.MAXYEAR

9999

MINYEAR

返回能表示的最小年份

datetime.MINYEAR

1

(2)填充日期,对day加一填充

 

pandasVSexcel 课程笔记 4-5

pandasVSexcel 课程笔记 4-5

 

(2)填充日期,对year加一填充

 

pandasVSexcel 课程笔记 4-5

pandasVSexcel 课程笔记 4-5

 

(3)填充日期,对month加一填充(自定义一个函数计算)

pandasVSexcel 课程笔记 4-5

pandasVSexcel 课程笔记 4-5

 

补充:以上for循环中对值的提取是先拿到series,再对其中的值操作;也可直接对dataframe操作:

for i in book.index:

book.at['ID',i]=i+1 #dataframe.at[] 获取指定行列对应的值

book.at['INSTORE',i]='yes' if i%2==0 else 'no'

book.at['DATE',i]=add_month(start,i)