Python Pandas像Excel一样进行自动填充与统计
【要求】
1.在“序号”列自动添加从1开始的递增数字
2.在“日期”是自动填充:从2019-10-01起日期递增一天
3.在“面试分”与“笔试分”中自动填充在50-100之间的随机数据
4.在后面增加一列“总分”是“面试分”*0.7 “笔试分”*0.3
5.输出为excel文件
【代码】
代码语言:javascript复制# -*- coding: UTF-8 -*-
import pandas as pd
import datetime
import random
#import numpy as np
print(datetime.datetime.now())
df=pd.read_excel('pandas像excel一样自动填充.xlsx',dtype={'序号':str,'日期':str,'面试分':str,'笔试分':str})
aday=datetime.timedelta(days=1)
#now=datetime.datetime.now()
now=date(2019,10,1)
print((now aday).strftime('%Y-%m-%d %H:%M:%S'))
or i in df.index:
df['序号'].at[i]=i 1
df['日期'].at[i]=date(now.year,now.month,now.day i)#(now aday).strftime('%Y-%m-%d')#datetime.datetime.now()
df['面试分'].at[i]=random.randint(50,100)
df['笔试分'].at[i]=random.randint(50,100)
df['总分']=df['面试分']*0.7 df['笔试分']*0.3
print(df)
df.to_excel('pandas像excel一样自动填充_out.xlsx')
print('成功')
[效果]
[知识点]
1.read_excel与to_excel,其中read_excel(中dtype={}{这里可以设置数据读入后是以什么样的形式保存的,如果不填写,等一下输入数据会以00.00的形式出现的,如果是身份证号是不是要用str的形式呢?还没试}
2. df['面试分'].at[i]=random.randint(50,100)与df['面试分']=random.randint(50,100),是不一样的,少了.at[i],后一种是整列输入一下数据
3. date(2019,10,1)输出的是”yyyy-mm-dd”的形式
4. df['总分']=df['面试分']*0.7 df['笔试分']*0.3是整个列的计算是以前面的数据为动态的计算。
====今天学习至此=====