【发布时间】:2022-10-12 21:49:50
【问题描述】:
我有一个格式如下的 df:
id json_1 json_2 json_3
1 {a:b} {a:c} {c:d}
2 {a:b} {b:c} null
3 {a:c} {c:d} {a:g}
我想创建一个连接(即联合)json_1、json_2 和 json_3 列的新列。
json_1、json_2 和 json_3 是字典文本。
期望的输出:
id json_1 json_2 json_3 final_json
1 {a:b} {a:c} {c:d} [{a:b}, {a:c}, {c:d}]
2 {a:b} {b:c} null [{a:b}, {b:c}]
3 {a:c} {c:d} {a:g} [{a:c}, {c:d}, {a:g}]
【问题讨论】:
-
嗯,
{{a:b}, {a:c}, {c:d}}无效,需要列表吗? -
不确定我是否理解正确,但似乎这应该可以解决您的问题
df['final_json'] = df[['json_1', 'json_2', 'json_3']].apply(lambda x: set(x) - set(['null']), axis=1)(这里假设数据框名称是df)。让我知道这是否可行 -
“json”不是python也不是pandas数据类型,你是什么实际上每个单元格都有?字典、文本或其他东西?
-
对困惑感到抱歉。我修改了问题。输入是每列中的字典文本。我需要的输出是一个 json 文件。
标签: python json pandas dataframe concatenation