【问题标题】:How to split dict in dataframe to many columns如何将数据框中的dict拆分为多列
【发布时间】:2019-07-17 03:44:46
【问题描述】:

我正在使用数据框。如何将字典列表拆分为多列?

这是针对初级数据处理器的。过去,我尝试过很多方法。

import pandas as pd
l = [{'a':1,'b':2},{'a':3,'b':4}]
data = [{'key1':'x','key2':'y','value':l}]
df = pd.DataFrame(data)
data1 = {'key1':['x','x'],'key2':['y','y'],'a':[1,3],'b':[2,4]}
df1 = pd.DataFrame(data1)

df1 是我需要的。

【问题讨论】:

  • df1 是我想要的。

标签: pandas data-processing


【解决方案1】:

理解

d1 = df.drop('value', axis=1)
co = d1.columns
d2 = df.value

pd.DataFrame([
    {**dict(zip(co, tup)), **d}
    for tup, D in zip(zip(*map(d1.get, d1)), d2)
    for d in D
])

   a  b key1 key2
0  1  2    x    y
1  3  4    x    y

爆炸

post on explode
这有点不同但很接近

idx = df.index.repeat(df.value.str.len())
val = np.concatenate(df.value).tolist()
d0 = pd.DataFrame(val)
df.drop('value', axis=1).loc[idx].reset_index(drop=True).join(d0)

   a  b key1 key2
0  1  2    x    y
1  3  4    x    y

【讨论】:

  • @StephenRauch 已修复
猜你喜欢
  • 2013-08-04
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-27
  • 1970-01-01
  • 2022-07-06
相关资源
最近更新 更多