Zac*_*ack 2 python dataframe pandas
我有一个填充了 True/False 值的数据框。我想迭代数据帧的每个单元格,如果值为 True,则返回该单元格位置的索引名称和列名称(或者返回它们的行和列索引)。
dataframe.applymap返回单元格的列、行的函数,但我不知道如何调用特定单元格的索引和列名称。.iloc[]基本上就像反向寻找一样。您可以尝试融化(pd.melt)您的数据框,同时将索引保留为变量:
df = pd.DataFrame(
np.random.choice([True, False], (5, 5)), columns=list("abcde"), index=list("fghij")
)
# a b c d e
# f False True True True False
# g True True False False True
# h False True True False False
# i True True False False False
# j True True False True True
df.reset_index().melt(id_vars='index').query('value == True')
Run Code Online (Sandbox Code Playgroud)
输出:
index variable value
1 g a True
3 i a True
4 j a True
5 f b True
6 g b True
7 h b True
8 i b True
9 j b True
10 f c True
12 h c True
15 f d True
19 j d True
21 g e True
24 j e True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1968 次 |
| 最近记录: |