为了账号安全,请及时绑定邮箱和手机立即绑定

如何将一列拆分为多个列名称更改的列

如何将一列拆分为多个列名称更改的列

HUX布斯 2022-11-01 15:15:43
我将一个数据框定义为一个“函数”,其中数据框中每一列的名称不断变化,因此我无法指定该列的名称,然后将其拆分为多列。例如,我不能说df ['name']然后将其拆分为许多列。此数据帧的列数和行数不是恒定的。我需要将包含多个项目的任何列拆分为多个组件(列)。例如:这是我拥有的数据框之一:name/one                                                name/three         (192.26949,)                                      (435.54,436.65,87.3,5432) (189.4033245,)                                (45.51,56.612, 54253.543, 54.321) (184.4593252,)                                 (45.58,56.6412,654.876,765.66543) 我想将其转换为:name/one                 name/three1      name/three2     name/three3       name/three4 192.26949                  435.54          436.65            87.3              5432 189.4033245                45.51           56.612          54253.543          54.321 184.4593252                45.58           56.6412          654.876          765.66543
查看完整描述

1 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

如果所有数据都是所有行中的元组并且所有列concatDataFrame构造函数和一起使用,则解决方案DataFrame.add_prefix


df = pd.concat([pd.DataFrame(df[c].tolist()).add_prefix(c) for c in df.columns], axis=1)

print (df)

    name/one0  name/three0  name/three1  name/three2  name/three3

0  192.269490       435.54     436.6500       87.300   5432.00000

1  189.403324        45.51      56.6120    54253.543     54.32100

2  184.459325        45.58      56.6412      654.876    765.66543

如果可能的话,字符串 repr 的元组:


import ast


L = [pd.DataFrame([ast.literal_eval(y) for y in df[c]]).add_prefix(c) for c in df.columns]

df = pd.concat(L, axis=1)

print (df)

    name/one0  name/three0  name/three1  name/three2  name/three3

0  192.269490       435.54     436.6500       87.300   5432.00000

1  189.403324        45.51      56.6120    54253.543     54.32100

2  184.459325        45.58      56.6412      654.876    765.66543


查看完整回答
反对 回复 2022-11-01
  • 1 回答
  • 0 关注
  • 121 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号