使用 loc 删除索引过滤的数据帧

Posted

技术标签:

【中文标题】使用 loc 删除索引过滤的数据帧【英文标题】:Data frame filtered with loc removing index 【发布时间】:2018-05-14 14:03:03 【问题描述】:

考虑数据框

df = pd.DataFrame(numpy.random.randint(0,10,size=(5, 4)), columns=list('ABCD'))
df
   A  B  C  D
0  5  8  0  4
1  7  4  9  0
2  8  1  1  8
3  2  7  6  6
4  4  3  3  0

我想用loc 过滤(结果将是单行)然后从某个单元格中提取一些数据

df.loc[df.A == 7].B
1    4
df.loc[df.A == 7].B.to_string()
'1    4'

问题是索引总是进入路径。我将如何摆脱它和/或仅提取细胞。此示例处理数字,但我确实有包含其他类型数据的列。有什么想法吗?

【问题讨论】:

【参考方案1】:

如果您只想要值并删除索引,例如,您可以:

df.loc[df.A == 7].B.values
#array([4])

【讨论】:

以上是关于使用 loc 删除索引过滤的数据帧的主要内容,如果未能解决你的问题,请参考以下文章

如何删除 Pandas 数据帧索引的“秒”?

删除每个索引的多索引熊猫数据帧的最低五个值

如何使用 loc[i,j] 根据索引值访问数据框中的特定值

如何从包含数据和时间作为索引的多索引数据帧中查询[重复]

pandas入门

按特定索引值过滤具有 MultiIndex 的数据帧 [重复]