簡體   English   中英

使用pandas系列從pandas DataFrame中提取值

[英]Extracting values from pandas DataFrame using a pandas Series

我有一個包含鍵-值對的pandas系列,其中鍵是我的pandas DataFrame中一列的名稱,值是DataFrame中該列的索引。

例如:

系列: 系列

然后在我的DataFrame中: Dataframe

因此,我想從我的DataFrame中提取索引中12的值,即'A'的值435.81。 我想將所有這些值放入另一個系列中,所以類似{'A':435.81,'AAP':468.97,...}

我的信譽很低,所以我不能將圖像發布為圖像而不是鏈接(有人可以解決這個問題嗎?謝謝!)

我認為這個索引就是您要尋找的。

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

df.loc允許您基於字符串索引進行索引。 你從在給定值的行ser (在第一個位置參數df.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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM