正则表达式从数据框中的一列中提取和拆分文本

时间:2019-10-04 15:14:02

标签: python pandas numpy dataframe

我有一个包含两列的数据集-一列是日期,另一列是数据,其值如下所示

date                                    data
1-1-2019     [[{'user_id': 1111, 'joining_date': '2011-01-01', 'country': 'EN'}]]

我的问题是如何拆分此值并创建一个新列(并以列名称作为前缀),如下所示?

date       userid            joining_date          country
1-1-2019    1111              2011-01-01           EN

1 个答案:

答案 0 :(得分:0)

这应该有效:

# setup
df = pd.DataFrame({
    "date": ['1-1-2019', '1-1-2019'],
    "data": [[{'user_id': 1111, 'joining_date': '2011-01-01', 'country': 'EN'}],
             [{'user_id': 1234, 'joining_date': '2017-01-01', 'country': 'FR'}]]
})

# core logic
df1 = pd.DataFrame(df['data'].apply(lambda _: _[0]).values.tolist())
df1['date'] = df['date']

输出:

    country joining_date    user_id date
0   EN      2011-01-01      1111    1-1-2019
1   FR      2017-01-01      1234    1-1-2019