有时候我们需要对column的每一列使用函数。这个时候可以使用lambda语法。
举个例子,有如下的dataframe
print(df)
code date
0 000001.SZ 2015-12-10 00:00:00.005
1 000001.SZ 2015-12-11 00:00:00.005
2 000001.SZ 2015-12-14 00:00:00.005
3 000001.SZ 2015-12-15 00:00:00.005
4 000001.SZ 2015-12-16 00:00:00.005
5 000001.SZ 2015-12-17 00:00:00.005
6 000001.SZ 2015-12-18 00:00:00.005
7 000001.SZ 2015-12-21 00:00:00.005
8 000001.SZ 2015-12-22 00:00:00.005
type(df['date'][0])
pandas.tslib.Timestamp
其中df['date']的每个元素都是Timestamp类型。
我们现在想把这一列都转换为datetime.date类型。
对于单独的元素可以使用方法
print(df['date'][0].date())
print(type(df['date'][0].date()))
2015-12-10
<class 'datetime.date'>
但是现在我们想转换df['date']的所有元素。可以用以下方法:
df['date']=df['date'].apply(lambda x:x.date())
print(df)
code date
0 000001.SZ 2015-12-10
1 000001.SZ 2015-12-11
2 000001.SZ 2015-12-14
3 000001.SZ 2015-12-15
4 000001.SZ 2015-12-16
5 000001.SZ 2015-12-17
6 000001.SZ 2015-12-18
7 000001.SZ 2015-12-21
8 000001.SZ 2015-12-22