python - 在 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
解决方案
假设您的数据框是
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]
希望它可以帮助你。
推荐阅读
- c - 是否有 C 编译器标志来检查函数修改的输入参数?
- docker - Docker 无法从现有存储库连接和拉取图像
- android - 在 Robolectric/Espresso 测试中避免睡觉
- java - 无法在java中读取资源
- javascript - 我想在 JavaScript 的克隆方法中更改标签值
- html - Container full rest height with scrollable content (Tailwind)
- c# - WPF XAML DesignTime Data - 在相关模型上设置属性值
- go - 切片类型的字段/变量的命名约定
- reactjs - 如何重定向到函数中的另一个组件?
- python - 转换为我的 CSV 时从重复的列字符串值中删除索引