我有一个包含两列的数据集-一列是日期,另一列是数据,其值如下所示
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
答案 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