首页 > 解决方案 > 如何在 Pandas 中获取并行行值?

问题描述

我试图找出一种从 Dataframe 获取并行行值的方法。

例如:我有一个数据框

df = pd.DataFrame({"TableName": ["Table1", "Table2"], "SQL": ["abc", "def"]})

现在我想通过使用 TableName 列值来获取 sql 列值

如果我放 Table1 那么输出应该是 abc

我试过用这个

selected_key = values["-list-"]
print(selected_key)
parallel_value = df1.loc[df1.columns("TableName") == selected_key]

这里 selected_key 确实有Table1 这是一小段代码,我想要的最终输出是

print(parallel_value)
output -- abc

标签: pythonpandas

解决方案


如果我理解正确:

import pandas as pd

df = pd.DataFrame({"TableName": ["Table1", "Table2"], "SQL": ["abc", "def"]})

对于单个字符串查询:

selected = "Table1"
p = df[df["TableName"].eq(selected)]["SQL"]
print(p)

# 0    abc
# Name: SQL, dtype: object

使用字符串列表作为查询:

selected = ["Table1"]
p = df[df["TableName"].isin(selected)]["SQL"]
print(p)

# 0    abc
# Name: SQL, dtype: object

推荐阅读