我有一个包含许多列和一行的数据框,并且每次出现特定值时都需要获取列标题。例如:
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
答案 0 :(得分:0)
尝试一下:
# Make a Series containing the columns you want to retrieve
s = pd.Series(['col1','col2','col3','col4','col5'])
# Get the list of valid column names
# Notice that you don't have a `col1` column in your sample input
valid = s[s.isin(df.columns)]
df[valid]
结果
col2 col3 col4 col5
0 36.57 35.77 37.56 36z.79
答案 1 :(得分:0)
假设您的数据框是
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]
希望它对您有帮助。