pandas versus Excel 学习笔记3(数据区域的读取,填充整数,文字及填充日期序列)

本文介绍了如何使用pandas在Excel数据处理中进行非首行首列数据读取、序列填充,包括1-n数字、有规律字符串和日期序列。通过实例展示了如何指定跳过行数、修改数据类型以及填充特定值和日期的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 一、读取不从第一行第一列开始的数据

pd.read_excel('路径',skiprow=3,usecols='C:F')

books=pd.read_excel('路径',skiprows=3,usecols='C:F')#跳过前三行,仅使用C到F列

二、自动填充

查看book['ID']数据类型
print(type(books['ID']))

books['ID'].at[0]=100

 books['ID'].at[index]   指定了列和行

(一)填充1-n数字

for i in books.index:
    books['ID'].at[i]=i+1

结果:

当一列本来为时,自动填充时会填充为浮点数

为了便于填充,需要在填充前修改数据类型,利用read_excel()中的参数

read_excel(....dtype={'ID':str,'InStore':str,'Date':str})

books=pd.read_excel('Books.xlsx',skiprows=3,usecols='C:F',dtype={'ID':str})

 

(二)填充有规律的字符串

book['Instore'].at[i]='Yes'if i%2==0 else 'No'

for i in books.index:
    books['Instore'].at[i]='Yes'if i%2==0 else 'No'

结果:

(三)填充日期序列

from datetime import date,timedelta

date函数:date(2018,1,1),date(年,月,日)  用于设定时间格式

1、使用函数timedelta(day=i)

timedelta(day=i)只能对天,分钟,毫秒,小时进行操作

没有month,year

from datetime import date,timedelta
start=date(2018,1,1)
for i in books.index:
    books['Date'].at[i]=start+timedelta(day=i)
#增加一天

2、使用函数date(年,月,日)

增加一年

for i in books.index:
    books['Date'].at[i]=date(start.year+i,start.month,start.day)
#增加一年

结果:

3、增加一个月

计算月增加的小算法!

def add_month(d,md):#第一个参数date,第二个参数加多少个月
    yd=md//12#整除12,结果为整数,yd计算年的增加量
    m=d.month+md%12#计算月,结果可能超过12
    if m!=12:
        yd+=m//12#因为m可能超过12,m//12结果为0或1,如果超过12 m//12为1,再加上一年
        m=m%12#计算月的增加量
    return date(d.year+yd,m,d.day)

 月份增加

for i in books.index:
    books['Date'].at[i]=add_month(start,i)

结果:

 

 

重新设置索引

books.set_index('ID',inplace=True)

books.set_index('ID',inplace=True)

填充或修改数值的两种方法

1、先获取series,修改值的方法

for i in books.index:
    books['Date'].at[i]=add_month(start,i)

2、定位DataFrame一个位置的方法

for i in books.index:
    books.at[i,'ID']=i+1
    books.at[i,'Instore']='Yes'if i%2==0 else 'No'
    books.at[i,'Date']=add_month(start,i)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值