首页 > 解决方案 > 将函数应用于列而不是行

问题描述

如标题所示,详情请参阅下文。

输入(这只显示一行,其余行类似)

"---\nid: 5\n_cid: 2512\n描述: ''\ncreated_at: 2016-12-07 02:46:23.882213000 Z\nupdated_at: 2016-12-07 02:46:23.882213000 Z"

代码:

def split_string():
    
    elements = df['object'][5].split('\n')[1:]
    clean_elements = []
    for element in elements:
        if ':' not in element:
            clean_elements[-1] = clean_elements[-1] + element
        else:
            clean_elements.append(element)

    data = {}

    for element in clean_elements:
        element = element.split(': ')
        data[element[0]] = element[1]

下面的行仅适用于特定行,但我希望该功能适用​​于整列。

elements = df['object'][5].split('\n')[1:]

有什么方法可以修改代码以满足要求,还是我必须向函数添加参数?请赐教,谢谢!

“df”是数据框名称,“object”是列名。

标签: pythonpython-3.x

解决方案


推荐阅读