将dataframe.apply方法结果添加到数据框

时间:2018-11-13 12:42:48

标签: python pandas

我无法将结果从apply语句转换为新列。

我在pandas数据框的“消息”列中记录了消息,我在其上运行了一个名为parse_log_message的解析函数,该函数将消息作为字典返回,并带有诸如“ level”,“ datetime”等键。

这些,我想作为新列添加到现有数据框logfile_df中。

>> results = logfile_df['message'].apply(parse_log_message)
>> results

time
2018-09-28 02:22:22    <Result () {'level': 'at=info', 'datetime': 'm...
2018-09-28 02:22:22    <Result () {'level': 'at=info', 'datetime': 'm...
2018-09-28 02:22:22    <Result () {'level': 'WARNING', 'datetime': '2...

>> type(results)

pandas.core.series.Series

我不知道如何将这个Result对象转换为可以附加到数据框的对象。

>> results = logfile_df['message'].apply(parse_log_message, reduce=False)

TypeError: parse_log_message() got an unexpected keyword argument 'reduce'

>> results = g['message'].apply(lambda x: parse_log_message(x), reduce=False)

TypeError: <lambda>() got an unexpected keyword argument 'reduce'

看来,apply方法的通常可选参数已传递给parse_log_message

0 个答案:

没有答案