2017-08-14 171 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)