如何将函数的返回值添加到数据框列中?

时间:2019-05-30 03:38:35

标签: pandas dataframe

我想将函数的多个返回值添加到一列中,例如,在这里,我将合并的小时和分钟分开,并分别添加到不同的变量“ hour”和“ minute”中。现在,我想将这些值添加到一个数据框列中。

def issuetimesplit(x):
    hour = str(x)[:-2]
    minutes = str(x)[-2:]
    time = print(f"{hour} : {minutes}")
    return time

for i,v in timeData.items():
    issuetimesplit(v)

1 个答案:

答案 0 :(得分:2)

让我总结一下意见。

  1. 您不能使用print来定义字符串变量。
  2. 在该函数中,您的新字符串可以立即返回。这意味着不需要time变量。但是,定义它不是错误。
  3. 您可以使用apply()函数,这可以解决您的问题。

代码如下。

# import pandas
import pandas as pd

# define function
def make_new_time_feature(row):
    hour = row['old_time_feature'][:-2]
    minutes = row['old_time_feature'][-2:]
    return f'{hour} : {minutes}'

# call apply
your_df['new_time_feature'] = your_df.apply(lambda row: make_new_time_feature(row), axis=1)