在python中应用函数(数据帧)

在python中应用函数(数据帧),python,python-3.x,pandas,apply,python-applymap,Python,Python 3.x,Pandas,Apply,Python Applymap,我了解到apply函数将整个系列作为输入,并将自定义函数应用于该系列。然而,我将下面的函数应用于数据帧中的一个列,它的工作方式就好像是以数据元素的方式传递数据一样,因为它拆分了该列中的每个值,我无法理解如何在整个列上执行该操作 def get_date(value): value_str = str(value) d = value_str.split("T") d1 = pd.to_datetime(d[0]) return d1 在这种情况下,如果有人能够

我了解到apply函数将整个系列作为输入,并将自定义函数应用于该系列。然而,我将下面的函数应用于数据帧中的一个列,它的工作方式就好像是以数据元素的方式传递数据一样,因为它拆分了该列中的每个值,我无法理解如何在整个列上执行该操作

def get_date(value):
    value_str = str(value)
    d = value_str.split("T")
    d1 = pd.to_datetime(d[0])
    return d1 
在这种情况下,如果有人能够清楚地区分python中的apply和applymap,那就太好了

def get_date(value):
    value_str = str(value)
    d = value_str.split(" ")
    d1 = pd.to_datetime(d[0])
    return pd.Series([d1], index=['date'])

df = pd.DataFrame({'full_date': pd.date_range('2018-6-20 10:00:00.123', periods=10, freq='5H')})
df[['date']] = df['full_date'].apply(get_date)
数据输入:

数据输出:


问题的第一部分讨论如何将函数应用于序列。第二部分要求区分apply和applymap。这两部分之间有联系吗?对于第二部分:
                  full_date
0   2018-06-20 10:00:00.123
1   2018-06-20 15:00:00.123
2   2018-06-20 20:00:00.123
3   2018-06-21 01:00:00.123
4   2018-06-21 06:00:00.123
5   2018-06-21 11:00:00.123
6   2018-06-21 16:00:00.123
7   2018-06-21 21:00:00.123
8   2018-06-22 02:00:00.123
9   2018-06-22 07:00:00.123
                  full_date       date
0   2018-06-20 10:00:00.123 2018-06-20
1   2018-06-20 15:00:00.123 2018-06-20
2   2018-06-20 20:00:00.123 2018-06-20
3   2018-06-21 01:00:00.123 2018-06-21
4   2018-06-21 06:00:00.123 2018-06-21
5   2018-06-21 11:00:00.123 2018-06-21
6   2018-06-21 16:00:00.123 2018-06-21
7   2018-06-21 21:00:00.123 2018-06-21
8   2018-06-22 02:00:00.123 2018-06-22
9   2018-06-22 07:00:00.123 2018-06-22