我有一个包含“键”和“值”列的数据框,我想输入一个键并输出一个值。
import pandas as pd
df = pd.DataFrame({
'key': ['A', 'B', 'C', 'D'],
'value': [2, 8, 10, 12]})
print(df)
key = 'B'
value = df[df['key'] == key]['value']
print(value)
当前输出如下:
key value
0 A 2
1 B 8
2 C 10
3 D 12
1 8
Name: value, dtype: int64
如何获得输出值:在本例中为 8,因为键是“B”。
最佳答案
您必须使用 df.loc 来获取具体值。你可以给这样的东西。
df.loc[df.key == 'B','value'].item()
其输出将是:
8
或者您也可以给出:
df.loc[df.key == 'B']['value'].item()
或者你可以给:
df[df.key == 'B']['value'].iloc[0]
或者你可以给:
df.loc[df.key == 'B', 'value'].values[0]
如果您确定数据框中只有一项具有 'B'
键,请使用 .item()
。如果您不确定,那么我建议您使用 .values[0]
,因为它会从结果中选择第一个。
所有这些都会给你一个值8
关于python - 通过键从不同列获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69869844/