python – 如何“解包”包含多个项目的列?

python – 如何“解包”包含多个项目的列?,第1张

概述我有一个DataFrame,其中一列是一个集合的字符串表示.是否有可能“解开”任何这样的行? 一个例子: ColA ColB ColC ColD0 "one item in a set" "{'item 1'}" "..." "..."1 "several in a set" " 我有一个DataFrame,其中一列是一个集合的字符串表示.是否有可能“解开”任何这样的行?

一个例子:

ColA                 ColB                    ColC   ColD0    "one item in a set"  "{'item 1'}"            "..."  "..."1    "several in a set"   "{'item 1','item 2'}"  "..."  "..."...

应该成为:

ColA                 ColB       ColC   ColD 0    "one item in a set"  'item 1'   "..."  "..."1    "several in a set"   'item 1'   "..."  "..." 2    "several in a set"   'item 2'   "..."  "..."...
解决方法 你可以:

df2 = df.colB.str[1:-1].str.split(',',expand=True)df2 = df2.stack().reset_index()df2 = df2.drop('level_1',axis=1).rename(columns={0: 'colB'}).set_index('level_0')df = df.drop('colB',axis=1)df = pd.concat([df,df2],axis=1)

删除{}后,.split()on’,’展开到新列和.stack(),然后清理.

总结

以上是内存溢出为你收集整理的python – 如何“解包”包含多个项目的列?全部内容,希望文章能够帮你解决python – 如何“解包”包含多个项目的列?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1197469.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存