如何从Pandas的数据框中提取单元格值

时间:2019-12-22 05:17:36

标签: python pandas dataframe

我有一个包含3列的数据框,如下所示:

https://codesandbox.io/s/mobile-store-325x9

我想在instrument_token列中搜索12295682,并提取相关的交易代码UBL20JANFUT。

我该怎么做?

预先感谢

4 个答案:

答案 0 :(得分:3)

您可以将boolean indexingDataFrame.loc一起使用,以按条件和按列名进行过滤:

s = df.loc[df['instrument_token'].eq(12295682), 'tradingsymbol']
#alternative
s = df.loc[df['instrument_token'] == 12295682, 'tradingsymbol']

然后获得Series的第一个值:

a = s.iat[0]
a = s.iloc[0]
a = s.tolist()[0]
a = s.to_array()[0]
#general solution if not match condition and select first value failed
a = next(iter(s), 'no match')

另一个想法是按instrument_token列使用DataFrame.set_index索引:

df = df.set_index('instrument_token')

然后点击DataFrame.locDataFrame.at

a = df.loc[12295682, 'tradingsymbol']
a = df.at[12295682, 'tradingsymbol']

答案 1 :(得分:2)

尝试

df[df['instrument_token'] == 12295682]['tradingsymbol']

答案 2 :(得分:1)

您可以使用:

list(df.loc[df['instrument_token'] == '12295682', 'tradingsymbol'])[0]

# UBL20JANFUT

答案 3 :(得分:-1)

您可以尝试:

df2=df['Trading_symbol'][df['instrument_token']==12295682]