首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >:在每一行中附加列名

:在每一行中附加列名
EN

Stack Overflow用户
提问于 2019-08-29 08:04:56
回答 1查看 749关注 0票数 1

是否有方法在dataframe行中附加列名?

投入:

代码语言:javascript
运行
复制
cv  cv  mg  mg
5g  5g  0% zinsenzin

产出:

代码语言:javascript
运行
复制
cv  cv  col_name    mg    mg      col_name
5g  5g  cv          0% zinsenzin   mg

我试过了,但不起作用

代码语言:javascript
运行
复制
list_col = list(df)
for i in list_col:
    if i != i.shift(1)
    df['new_col'] = i

我被困在这里找不到任何解决办法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-29 10:03:16

在熊猫中,使用重复的列名并不容易,但有可能:

代码语言:javascript
运行
复制
c = 'cv cv mg mg sa sa ta ta at at ad ad an av av ar ar ai ai ca ca ch ch ks ks ct ct ce ce cw cw dt dt fr fr fs fs fm fm it it lg lg mk mk md md mt mt ob ob ph ph pb pb rt rt sz sz tg tg tt tt vv vv yq yq fr fr ms ms lp lp ts ts mv mv'.split()
代码语言:javascript
运行
复制
df = pd.DataFrame([range(77)], columns=c)
print (df)
   cv  cv  mg  mg  sa  sa  ta  ta  at  at  ...  fr  fr  ms  ms  lp  lp  ts  \
0   0   1   2   3   4   5   6   7   8   9  ...  67  68  69  70  71  72  73   

   ts  mv  mv  
0  74  75  76  

[1 rows x 77 columns]

df = pd.concat([v.assign(new_col=k) for k, v in df.groupby(axis=1,level=0,sort=False)],axis=1)
print (df)
   cv  cv new_col  mg  mg new_col  sa  sa new_col  ta  ... new_col  lp  lp  \
0   0   1      cv   2   3      mg   4   5      sa   6  ...      ms  71  72   

  new_col  ts  ts new_col  mv  mv new_col  
0      lp  73  74      ts  75  76      mv  

[1 rows x 115 columns]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57705746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档