python - 如何从数据框中检索行名和列名?

标签 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.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)

这会正确地产生:

0.829723365019
0.829723365019

但是,我无法从那里向后工作以检索行名和列名。我已经尝试过 .loc、.columname 和我在这里读到的其他几种方法。我了解到 Python 更多是关于在整个数据框架上进行操作。任何指导表示赞赏。

最佳答案

  • stack 排列行和列
  • query过滤你需要的东西

cmat.stack().to_frame('item').query('.3 < item < .9')

enter image description here

关于python - 如何从数据框中检索行名和列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40877696/

相关文章:

python - 如何删除某一列中值为 NaN 的 Pandas DataFrame 行

带时区的 Python datetime.now()

python - Pandas 跳过 x 刻度标签

python - 使用采样数据时,CRC32 函数如何工作?

python - 如何将图像存储在 pandas dataframe 列中?

python - 应用 groupby() 后计算最大行数

python - Pandas 数据框 : Change column values?

python - PySpark 通过切片从日期字符串获取年份时出错

python - 确定日期时间是否在工作日时间表内

python - K 表示使用 PySpark 进行聚类