如何从数据框中检索行名和列名?
Posted
技术标签:
【中文标题】如何从数据框中检索行名和列名?【英文标题】:How to retrieve row and column names from data frame? 【发布时间】:2017-04-14 03:30:57 【问题描述】:我已经使用 pandas.corr 从数据框生成了一个相关矩阵:
cmat = sub1.corr()
cmat
Out[75]:
CESI001 CESI002 CESI003 CESI004
CESI001 1.000000 0.829723 0.046925 0.074475
CESI002 0.829723 1.000000 0.066766 0.073181
CESI003 0.046925 0.066766 1.000000 -0.098427
CESI004 0.074475 0.073181 -0.098427 1.000000
我要做的是生成一个由 [行、列、值] 组成的新数据框,其中单元格值符合某些条件。我已成功检索到匹配的单元格值:
for i2,r2 in cmat.iterrows():
for item in cmat[i2]:
if ((item > 0.3) and (item < 0.9)):
print (item)
这正确产生:
0.829723365019
0.829723365019
但是,我无法从那里向后检索行名和列名。我尝试了 .loc、.columname 和其他几种我在这里读到的方法。我知道 Python 更多的是对整个数据框进行操作。任何指导表示赞赏。
【问题讨论】:
【参考方案1】:stack
排列行和列
query
过滤你需要的东西
cmat.stack().to_frame('item').query('.3 < item < .9')
【讨论】:
以上是关于如何从数据框中检索行名和列名?的主要内容,如果未能解决你的问题,请参考以下文章