[英]How to get the subset of dataframe based on another dataframe in pandas python
[英]Get subset of dataframe (python) based on requested column
我在dataframe
中的 dataframe 有以下問題:
我有一個帶有 ID 列(不是索引)和其他列的dataframe
。 現在我想編寫一個代碼,返回一個新的 dataframe,其中所有行在 columnx 中具有相同的值,作為請求的項目 ID。 它還應該包含 dataframe df 的所有列。
def subset(itemID):
columnxValue = df[df['ID'] == itemID]['columnx']
subset = df[df['columnx'] == columnxValue]
return subset
如果我這樣做,我總是會收到錯誤“只能比較標記相同的系列對象
我把問題改得更清楚了。
你的意思是這樣的嗎? 您將ItemID
作為參數提供給subset
function。 然后它檢查ItemID
是否對應於ID
列中的值。 它從ItemID
等於ID
列中的值的行返回columnx
的值。
def subset(itemID):
columnValueRequest = df[df['ID'] == itemID][columnx]
subset = df[df[columnx] == columnValueRequest]
return subset
您可以按如下方式使用.loc
:
def subset(itemID):
columnValueRequest = df.loc[df['ID'] == itemID, 'columnx'].iloc[0]
subset1 = df[df['columnx'] == columnValueRequest]
return subset1
當您想要獲取一個值時,您必須進一步使用.iloc[0]
來獲取(第一個)值,而不是變量columnValueRequest
的 Series。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.