【问题标题】:Apply function in python (dataframe)在python(数据框)中应用函数
【发布时间】:2018-11-29 06:03:28
【问题描述】:

我读到 apply 函数将整个系列作为输入并将自定义函数应用于该系列。但是,我将以下函数应用于数据框中的 col 并且它的工作方式好像它正在明智地传递数据元素(因为它正在拆分该列中的每个值,而我无法理解如何在整个列上完成它)

def get_date(value):
    value_str = str(value)
    d = value_str.split("T")
    d1 = pd.to_datetime(d[0])
    return d1 

在这种情况下,如果有人能清楚地区分python中的apply和applymap,那就太好了。

【问题讨论】:

  • 您问题的第一部分讨论了如何将函数应用于系列。第二部分询问 apply 和 applymap 之间的区别。这两个部分之间有联系吗?

标签: python python-3.x pandas apply python-applymap


【解决方案1】:
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)

df(输入):

                  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

df(输出):

                  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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 2016-12-29
    • 2018-01-16
    • 2019-02-17
    相关资源
    最近更新 更多