我无法将结果从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