2017-08-14 288 views
0

我有一个包含键值对的熊猫系列,其中的关键字是我熊猫DataFrame中列的名称,值是DataFrame的该列中的索引。使用熊猫系列提取熊猫数据框的值

例如:

系列: 在我的数据帧Series

然后: Dataframe

因此,从我的数据帧我想从我的数据帧为“A提取物指标12值',这是435.81。我想把所有这些值放到另一个系列中,所以像{'A':435.81,'AAP':468.97,...}

我的声望很低,所以我不能将图像作为图像发布链接(可以有人帮助解决这个问题?谢谢!)

+1

您需要更好地构建您的问题并给出一个更好的输出示例。 –

回答

0

我认为这个索引是你要找的。

pd.Series(np.diag(df.loc[ser,ser.axes[0]]), index=df.columns) 

df.loc允许您基于字符串索引进行索引。你可以从serdf.loc中的第一个位置参数)中得到你的行,你可以从ser的标签中得到你的列位置(我不知道是否有更好的方法从ser.axes[0]获得系列中的标签) 。您需要的值是沿着结果的主对角线,因此您只需对角线并将它们与列标签相关联。

我给出的索引只适用于您的DataFrame使用整数行索引,或者您的Series值的数据类型与DataFrame行索引匹配。如果你有一个带有非整数行索引的DataFrame,但仍然希望获得基于整数行的值,那么使用下面的代码(但是,你的系列中的所有索引都必须在DataFrame的范围内,而不是这种情况'AAL'是1758,例如只有12行):

pd.Series(np.diag(df.iloc[ser,:].loc[:,ser.axes[0]]), index=df.columns)