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

从同一数据帧的行中的值在数据帧中创建一个新列

从同一数据帧的行中的值在数据帧中创建一个新列

慕后森 2021-06-13 17:01:42
我正在尝试在同一数据帧的行中创建一个具有值的新列,以便 Year 列中单元格的值与标题匹配,并将值放在 Value 下的行单元格中。请参阅附图。有什么建议么?
查看完整描述

2 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

您可能需要找到以下功能 lookup

pd.DataFrame({'Year':df.Year,'Value':df.set_index('Year').lookup(df.Year,df.Year)})


查看完整回答
反对 回复 2021-06-16
?
达令说

TA贡献1821条经验 获得超6个赞

如果您知道索引中的所有年份也在您的列中,您可以尝试以下操作:


import pandas as pd

import numpy as np


df = pd.DataFrame(

    {2008: 5*[1], 2009: 5*[2], 2010: 5*[3], 2011: 5*[4], 2012: 5*[5]},

    index=[2008, 2011, 2010, 2009, 2012]

)


np.diag(df.loc[df.index, df.index])

结果:


array([1, 4, 3, 2, 5])


查看完整回答
反对 回复 2021-06-16
  • 2 回答
  • 0 关注
  • 182 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信