Python 如何从数据框中检索行和列名?
我使用pandas.corr从数据帧生成了相关矩阵:Python 如何从数据框中检索行和列名?,python,pandas,dataframe,Python,Pandas,Dataframe,我使用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.098
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
我要做的是生成一个新的数据帧,由[row,column,value]组成,其中单元格值满足一些条件。我已成功检索匹配的单元格值:
for i2,r2 in cmat.iterrows():
for item in cmat[i2]:
if ((item > 0.3) and (item < 0.9)):
print (item)
但是,我无法从那里向后检索行和列名。我已经尝试了.loc、.columname和我在这里读到的其他几种方法。我发现Python更多的是在整个数据帧上进行操作。感谢您的指导。
将行和列对齐stack
以筛选所需内容查询
cmat.stack()
0.829723365019
0.829723365019
cmat.stack().to_frame('item').query('.3 < item < .9')