1.1 datetime.date
1) datetime.date.today() 返回今日,输出的类型为date类
import datetime
today = datetime.date.today()
print(today)
print(type(today))
–>输出的结果为:
2020-03-04
<class 'datetime.date'>
将输出的结果转化为常见数据类型(字符串)
print(str(today))
print(type(str(today)))
date = str(today).split('-')
year,month,day = date[0],date[1],date[2]
print('今日的年份是{}年,月份是{}月,日子是{}号'.format(year,month,day))
–>输出的结果为:(转化为字符串之后就可以直接进行操作)
2020-03-04
<class 'str'>
今日的年份是2020年,月份是03月,日子是04号
2) datetime.date(年,月,日),获取当前的日期
date = datetime.date(2020,2,29)
print(date)
print(type(date))
–>输出的结果为:
2020-02-29
<class 'datetime.date'>
1.2 datetime.datetime
1) datetime.datetime.now()输出当前时间,datetime类
now = datetime.datetime.now()
print(now)
print(type(now))
–>输出的结果为:(注意秒后面有个不确定尾数)
2020-03-04 09:02:28.280783
<class 'datetime.datetime'>
可通过str()转化为字符串(和上面类似)
print(str(now))
print(type(str(now)))
–>输出的结果为:(这里也可以跟上面的处理类似分别获得相应的数据,但是也可以使用下面更直接的方法来获取)
2020-03-04 09:04:32.271075
<class 'str'>
2) 通过自带的方法获取年月日,时分秒(这里返回的是int整型数据,注意区别)
now = datetime.datetime.now()
print(now.year,type(now.year))
print(now.month,type(now.month))
print(now.day,type(now.day))
print(now.hour,type(now.hour))
print(now.minute,type(now.minute))
print(now.second,type(now.second))
print(now.date(),type(now.date()))
print(now.date().year,type(now.date().year))
–>输出的结果为:(首先注意输出中倒数第二个还是上面的datetime.date对象,这里是用来做时间对比的,同时除了这里的datetime.datetime有这种方法,datetime.date对象也有。因为此方法获取second是取的整型数据,自然最后的不确定尾数就被取整处理掉了)
2020 <class 'int'>
3 <class 'int'>
4 <class 'int'>
9 <class 'int'>
12 <class 'int'>
55 <class 'int'>
2020-03-04 <class 'datetime.date'>
2020 <class 'int'>
首先是准备工作,导入需要使用的库,读取并创建数据表取名为loandata。?
1
2
3
import numpy as np
import pandas as pd
loandata=pd.DataFrame(pd.read_excel('loan_data.xlsx'))
设置索引字段
在开始提取数据前,先将member_id列设置为索引字段。然后开始提取数据。
?
1
Loandata = loandata.set_index('member_id')
按行提取信息
第一步是按行提取数据,例如提取某个用户的信息。下面使用ix函数对member_id为1303503的用户信息进行了提取。
?
1
loandata.ix[1303503]
按列提取信息
第二步是按列提取数据,例如提取用户工作年限列的所有信息,下面是具体的代码和提取结果,显示了所有用户的工作年龄信息。
?
1
loandata.ix[:,'emp_length']
按行与列提取信息
第三步是按行和列提取信息,把前面两部的查询条件放在一起,查询特定用户的特定信息,下面是查询member_id为1303503的用户的emp_length信息。
?
1
loandata.ix[1303503,'emp_length']
在前面的基础上继续增加条件,增加一行同时查询两个特定用户的贷款金额信息。具体代码和查询结果如下。结果中分别列出了两个用户的代码金额。
?
1
loandata.ix[[1303503,1298717],'loan_amnt']
在前面的代码后增加sum函数,对结果进行求和,同样是查询两个特定用户的贷款进行,下面的结果中直接给出了贷款金额的汇总值。
?
1
loandata.ix[[1303503,1298717],'loan_amnt'].sum()
除了增加行的查询条件以外,还可以增加列的查询条件,下面的代码中查询了一个特定用户的贷款金额和年收入情况,结果中分别显示了这两个字段的结果。
?
1
loandata.ix[1303503,['loan_amnt','annual_inc']]
多个列的查询也可以进行求和计算,在前面的代码后增加sum函数,对这个用户的贷款金额和年收入两个字段求和,并显示出结果。
?
1
loandata.ix[1303503,['loan_amnt','annual_inc']].sum()
设置索引字段。在开始提取数据前,先将member_id列设置为索引字段。然后开始提取数据。
按行提取信息。第一步是按行提取数据,例如提取某个用户的信息。
按列提取信息。第二步是按列提取数据,例如提取用户工作年限列的所有信息。
按行与列提取信息。第三步是按行和列提取信息,把前面两部的查询条件放在一起,查询特定用户的特定信息。
在前面的基础上继续增加条件,增加一行同时查询两个特定用户的贷款金额信息。
在前面的代码后增加sum函数,对结果进行求和。
除了增加行的查询条件以外,还可以增加列的查询条件。
多个列的查询也可以进行求和计算,在前面的代码后增加sum函数,对这个用户的贷款金额和年收入两个字段求和,并显示出结果。
提取特定日期的信息。数据提取中还有一种很常见的需求就是按日期维度对数据进行汇总和提取,如按月,季度的汇总数据提取和按特定时间段的数据提取等等。
设置索引字段。首先将索引字段改为数据表中的日期字段,这里将issue_d设置为数据表的索引字段。按日期进行查询和数据提取。