gpt4 book ai didi

python - 将字典列表转换为单独的列 pandas

转载 作者:太空宇宙 更新时间:2023-11-03 23:59:21 25 4
gpt4 key购买 nike

我想要一个包含 1 列字典列表的 df

例子 df:

testData
{1: MLB, 2: NBA, 3: NFL}

进入以下:

Number   Sport
1 MLB
2 NBA
3 NFL

我尝试了以下方法:

pd.DataFrame(df['testData'].values.tolist())

但这会返回

MLB NBA NFL
1 2 3

我想我已经接近了,但只需要一些关于如何正确转换我的数据框的帮助。

最佳答案

您可以将 apply 与 pd.Series 构造函数一起使用:

In [11]: df
Out[11]:
testData
0 {1: 'MLB', 2: 'NBA', 3: 'NFL'}

In [12]: df["testData"].apply(pd.Series)
Out[12]:
1 2 3
0 MLB NBA NFL

In [13]: df["testData"].apply(lambda d: pd.Series(list(d), d.values()))
Out[13]:
MLB NBA NFL
0 1 2 3

要将这些合并到一个体育专栏中,您可以堆叠:

In [14]: df["testData"].apply(lambda d: pd.Series(list(d), d.values())).stack()
Out[14]:
0 MLB 1
NBA 2
NFL 3
dtype: int64

In [15]: res = df["testData"].apply(lambda d: pd.Series(list(d), d.values())).stack().reset_index(level=1)

In [16]: res.columns = ["sport", "number"]

In [17]: res
Out[17]:
sport number
0 MLB 1
0 NBA 2
0 NFL 3

关于python - 将字典列表转换为单独的列 pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56248899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com