python - 根据来自另一个数据框列的值选择列值
问题描述
我有一个pandas dataframe
类似于下面的:
| Date | Value1 | Value2
0 | 2021-01 | 10.90 | 2.34
1 | 2021-02 | 12.85 | 4.65
2 | 2021-03 | 15.56 | 6.11
3 | 2021-04 | 18.23 | 8.62
创建数据框的示例代码:
import pandas as pd
df = pd.DataFrame({
"Date": ['2021-01', '2021-02', '2021-03', '2021-04'],
"Value1": [10.90, 12.85, 15.56, 18.23],
"Value2": [2.34, 4.65, 6.11, 8.62]
})
我想使用特定的从Value1
和列中提取值而不作为.Value2
Date
Date
dataframe
我所做的工作正常,但正在寻找更好的方法。
单行代码将非常感谢这项任务。
我的做法:
value1_2021_01 = df[df["Date"] == '2021-01'][['Value1']].iat[0,0]
value2_2021_04 = df[df["Date"] == '2021-04'][['Value2']].iat[0,0]
请注意,Date
列将始终具有唯一值。
解决方案
我没有正确回答问题,但你想要这样的东西:
g = lambda x: df.query(f'Date=="{x}"')[['Value1', 'Value2']]
value1,value2 = g('2021-01').values[0]
print(value1, value2)
输出:
(10.9, 2.34)
推荐阅读
- python - (意外)使用 setworldcoordinates() 时出现类型错误
- excel - 如何使用 VBA 更改 PowerPoint 的嵌入图表链接?
- excel - 将值汇总到新工作表中以获得唯一日期和唯一名称
- javascript - 为什么代码“new Promise”总是导致空数组
- javascript - 退出并总是弹出询问帐户 google firebase
- multicore - 如何在 vowpal wabbit 中使用多核选项
- sql - 基于日期的日志数据查询技术
- javascript - 我正在努力使用 Javascript 对象操作来输出所需的结果
- versioning - 如何在本地开发环境中平滑切换 Java、Gradle 或 Maven 的版本?
- java - 在 java 中安全地使用现代线程