第一行
選項1
您可以使用df.isin
:
first_flag = df2[df2.score.isin([df1.marks[0]])].flag
print(first_flag)
0 T
要得到的值,用.values.tolist()
:
print(first_flag.values.tolist())
['T']
要獲得單個的值作爲單個項目,使用.item
:
print(first_flag.item())
'T'
選項2
使用df.eval
:
score = df1.marks[0]
first_flag = df2[df2.eval('score == {}'.format(score))].flag
print(first_flag)
0 T
選項3
使用df.eq
score = df1.marks[0]
first_flag = df2[df2.score.eq(score)].flag
print(first_flag)
0 T
所有行
使用df.merge
。
flags = df1.merge(df2, left_on='marks', right_on='score').flag
print(flags)
0 T
1 F
Name: flag, dtype: object
如果要檢索NaN
對那些沒有標誌存在,你可以做行的left
加入:
flags = df1.merge(df2, left_on='marks', right_on='score', how='left').flag
print(flags)
0 T
1 NaN
2 F
不能沒有它使用合併完成! 合併給我所有的行,我只想要它的第一行,使用iloc [0] – Shubham
@SRingne增加了更多的選項。你有很多選擇可供選擇:p –
@COLDSPEED,好吧,我找到了那個標誌。 第二步: - 我可以將那個特殊的標誌從「T」改變爲「F」嗎?作爲下一行代碼? – Shubham