首页 > 解决方案 > 在 pandas 中的匹配列名上获取相应的行值

问题描述

我有一个包含多列和一行的数据框,每次出现特定值时都需要获取列标题。例如:

Date               c1    col2    col3    col4    col5    rl6    d7 
01/01/2016 00:00   37.04   36.57   35.77   37.56   36.79   35.90   38.15 

...并给定一个带有列名的数组['col2','col3','col4','col5']

我需要将这些名称与标题名称进行比较,并且列名与数组匹配的任何位置,然后连续获取相应的值。例如,col2应该赋予价值36.57

标签: pythonpandasdataframe

解决方案


假设您的数据框是

df

你有数组,

l = ['col2', 'col3', 'col4', 'col5']

然后你会得到标签的相应值,

[df[label].values[0] for label in l if label in df]

你的例子的输出将是

[36.57, 35.77, 37.56, 36.79]

希望它可以帮助你。


推荐阅读