获取行与条件匹配的列值

2024-04-25 21:28:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在读熊猫的CSV文件。假设CSV如下所示:

column_1,column_2,column_3
1,2,value_1
1,3,value_2
2,1,value_3
2,2,value_4

我想从column_3(即value_2)中获取值,其中column_1=1column_2=3。我确信只有一行符合此条件

所以我在做这样的事情:

df = pd.read_csv(...file...)
cond = (df['column_1'] == 1) & (df['column_2'] == 3)
...

我尝试了df.loc[cond, 'column_3']给我这个值,但是它返回了一个数据帧,索引是此行的行号。这里的行号不是0,而是1(即CSV文件中的原始行号),这不允许我执行df.loc[cond, 'column_3'][0]

如何在此处获取列值


Tags: 文件csv数据dfreadvaluecolumn条件
1条回答
网友
1楼 · 发布于 2024-04-25 21:28:12

这应该起作用:

import pandas as pd

data = {
    'column_1': [1, 1, 2, 2],
    'column_2': [2, 3, 1, 2],
    'column_3': ['value_1', 'value_2', 'value_3', 'value_4']
}

df = pd.DataFrame(data=data)

cond = (df['column_1'] == 1) & (df['column_2'] == 3)
result = df[cond].column_3.values[0]
result

相关问题 更多 >