【发布时间】:2020-09-09 21:09:30
【问题描述】:
我正在阅读 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
我想从column_3(即value_2)获取值,其中column_1=1 和column_2=3。我确信只有 1 行符合这个条件。
所以我正在做这样的事情:
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]
如何在此处获取列值?
【问题讨论】:
-
df.loc[cond, 'column_3'][0].iloc[0] -
df['column_3'].loc[(df['column_1'] == 1) & (df['column_2'] == 3)]