⑴ python數據聚合問題,求大神進來指導
fromdatetimeimportdatetime,date
classMovie(object):
def__init__(self,name,ondate,offdate,box):
self.name=name
self.ondate=datetime.strptime(ondate,'%Y-%m-%d').date()
self.offdate=datetime.strptime(offdate,'%Y-%m-%d').date()
self.box=box
movies=[Movie('《沖上雲霄》','2015-02-19','2015-02-21',93.7980),
Movie('《沖上雲霄》','2015-02-19','2015-02-22',132.0577),
Movie('《沖上雲霄》','2015-02-19','2015-02-23',357.0906),
Movie('《沖上雲霄》','2015-02-19','2015-02-24',1094.3101),
Movie('《沖上雲霄》','2015-02-19','2015-02-27',240.6659),
Movie('《沖上雲霄》','2015-02-19','2015-02-27',197.4695),
Movie('《沖上雲霄》','2015-02-19','2015-02-27',266.5838),
]
aggs=dict()
formovieinmovies:
ifmovie.nameinaggs:
a=aggs[movie.name]
a['earliest']=min(a['earliest'],movie.ondate)
a['latest']=max(a['latest'],movie.offdate)
a['sum']+=movie.box
else:
aggs[movie.name]={'earliest':movie.ondate,'latest':movie.offdate,'sum':movie.box}
fork,vinaggs.items():
print(k,v['earliest'],v['latest'],v['sum'])
⑵ python 處理日期月份 傳入一個當期日期,怎麼去上月同期。
使用time模塊的time.localtime()獲取當前日期,使用calendar模塊calendar.monthrange的來獲取指定月份的天數。即可得到月初日期和月末日期,代碼如下:
import calendar
import time
day_now = time.localtime()
day_begin = '%d-%02d-01' % (day_now.tm_year, day_now.tm_mon) # 月初肯定是1號
wday, monthRange = calendar.monthrange(day_now.tm_year, day_now.tm_mon) # 得到本月的天數 第一返回為月第一日為星期幾(0-6), 第二返回為此月天數
day_end = '%d-%02d-%02d' % (day_now.tm_year, day_now.tm_mon, monthRange)
print('月初日期為:',day_begin, '月末日期為:',day_end)
⑶ python實現聚合函數功能
#encoding=utf-8
defgetRows():
names=["A","B"]
rows=[
[1,'m'],
[2,'m'],
[3,'q'],
[3,'q'],
[2,'q'],
[1,'s'],
[4,'s'],
[2,'s'],
[1,'s'],
[3,'m']
]
rs=[]
forrowinrows:
rs.append(dict(zip(names,row)))
returnrs
defcount():
rs=getRows()
#取所有B=m的行
rs=[rforrinrsifr["B"]=='m']
rs=sorted(rs,key=lambdar:r["B"])
#計算數量
result={}
forrinrs:
ifr["A"]inresult:
result[r["A"]]+=1
else:
result[r["A"]]=1
returnresult
printcount()
⑷ Python 如何將表格中所有日期形式(如31-Jan-94)變為類似31/01/94的形式
fromdatetimeimportdatetime
help(datetime)
help(datetime.strptime)
dt=datetime.strptime('31-Jan-94','%d-%b-%y')#網路:pythondatetime
print(dt.strftime('%d/%m/%y'))
⑸ python 獲取現在日期減去輸入的日期
importdatetime
now=datetime.datetime.now()
input_date=datetime.datetime.strptime('2019-3-1312:1:30','%Y-%m-%d%H:%M:%S')
print(input_date-now)
⑹ python如何只獲取日期
這里我們要用到的是python的內置模塊,time模塊。
顧名思義,這是一個和時間有關的模塊。
導入time模塊。
import time
⑺ Python從資料庫中取出了日期,怎麼按月分類並輸出呢
日期時間型有很多種,是 java.util.Date,java.sql.Date,java.util.Calendar,還是java.text.DateFormat
是不是要得到 20030321 這種格式的,用下面的方法就可以:
java.util.Date b=(java.util.DateGetDate() //得到日期
java.text.SimpleDateFormat dateFormat=new SimpleDateFormat("yyyyMMdd"); //設置輸出格式
String today=dateFormat.format(b);//得到字元串形式的日期 20030321
int a=Integer.parseInt(today); //變成整數型
⑻ python 求日期
#-*-coding:cp936-*-
#設置星期天的初始值為0
mondays=0
defgetmonthdays(year):
isleapyear=year%400==0or(year%4==0and(notyear%100==0))
ifisleapyear:
return[31,29,31,30,31,30,31,31,30,31,30,31]
return[31,28,31,30,31,30,31,31,30,31,30,31]
#計算1899.12.31(這天是星期天)1901.1.1之間的天數
pastdays=1#1899.12.31過一天是1900.1.1
monthdays=getmonthdays(1900)
formonthinrange(0,12):
pastdays+=monthdays[month]
#計算1901.1.1到2000.12.31星期天的數字
foryearinrange(1901,2001):
monthdays=getmonthdays(year)
formonthinrange(0,12):
ifpastdays%7==0:
mondays+=1
pastdays+=monthdays[month]
print"1901年1月1月至2000年12月31日共有%d個星期天落在每月第一天"%mondays