我正在 Pandas 中读取 CSV 文件。假设 CSV 如下:
column_1,column_2,column_3
1,2,value_1
1,3,value_2
2,1,value_3
2,2,value_4
Run Code Online (Sandbox Code Playgroud)
column_3我想从(即value_2) wherecolumn_1=1和获取值column_2=3。我确信只有 1 行符合此条件。
所以我正在做这样的事情:
df = pd.read_csv(...file...)
cond = (df['column_1'] == 1) & (df['column_2'] == 3)
...
Run Code Online (Sandbox Code Playgroud)
我尝试df.loc[cond, 'column_3']给我值,但是它返回一个数据帧,其中索引作为该行的行号。这里的行号不是0,而是1(即CSV文件中的原始行号),这不允许我做df.loc[cond, 'column_3'][0]
我如何获取这里的列值?
小智 8
这应该有效:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17781 次 |
| 最近记录: |