我有一个带有数字值的熊猫数据框。如何遍历行并返回单元格值满足阈值的列名(在这种情况下,假设为 .05)?
pandas 数据框有 10K 行和 700 列。理想情况下,我希望返回一个字典,如下所示。
MWE
import pandas as pd
import numpy as np
np.random.seed(0)
df = pd.DataFrame(
np.random.randint(0,10,size=(8, 7))/100,
columns=list('ABCDEFG'),
index = ['Dog', "Cat", 'Pig', 'Horse', 'Fish', 'Chicken', 'Squid', 'Cheetah']
)
屈服
A B C D E F G
---- ---- ---- ---- ---- ---- ----
0.05 0 0.03 0.03 0.07 0.09 0.03
0.05 0.02 0.04 0.07 0.06 0.08 0.08
0.01 0.06 0.07 0.07 0.08 0.01 0.05
0.09 0.08 0.09 0.04 0.03 0 0.03
0.05 0 0.02 0.03 0.08 0.01 0.03
0.03 0.03 0.07 0 0.01 0.09 0.09
0 0.04 0.07 0.03 0.02 0.07 0.02
0 0 0.04 0.05 0.05 0.06 0.08
期望的输出
{
'Dog': ['A', 'E', 'F'],
"Cat": ['A', 'D', 'E', 'F', 'G'],
'Pig': ['B', 'C', 'D', 'E', 'G'],
'Horse': ['A', "B", 'C'],
'Fish': ['A', 'E'],
'Chicken': ['C', 'F', 'G'],
'Squid': ['C', 'F'],
'Cheetah': ['D', 'E', 'F', 'G']
}