gpt4 book ai didi

python - DataFrame 的元组列表。元素列,元组长度列

转载 作者:行者123 更新时间:2023-12-02 17:56:46 25 4
gpt4 key购买 nike

我有一个不同长度的元组列表,其中元组可以被认为是对人员团队进行编码,例如:

data = [('Alice',),
('Bob', 'Betty'),
('Charlie', 'Cindy', 'Cramer')]

据此,我想创建一个 DataFrame,其中包含一列团队成员姓名,以及一列包含他们所在团队的规模:

   name     teamsize
0 Alice 1
1 Bob 2
2 Betty 2
3 Charlie 3
4 Cindy 3
5 Cramer 3

我尝试过一些双 for 循环,但我无法不让事情得到解决,并且感觉这不是一个很好的方法。任何提示将不胜感激。

最佳答案

使用列表理解和 DataFrame构造函数:

out = pd.DataFrame([[name, len(l)] for l in data for name in l],
columns=['name', 'teamsize'])

输出:

      name  teamsize
0 Alice 1
1 Bob 2
2 Betty 2
3 Charlie 3
4 Cindy 3
5 Cramer 3

为了好玩,这里有一个纯粹的 pandas 解决方案(但可能效率较低!):

out = (pd.DataFrame({'name': data})
.assign(teamsize=lambda d: d['name'].str.len())
.explode('name', ignore_index=True)
)

关于python - DataFrame 的元组列表。元素列,元组长度列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75518443/

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