gpt4 book ai didi

python - True 值的行和列索引

转载 作者:行者123 更新时间:2023-11-28 16:35:12 24 4
gpt4 key购买 nike

我有一个包含 bool 值的 NxN pandas DataFrame。例如:

In[56]: df
Out[56]:
15 25 35 45 55
10 True False False False False
20 False True False False False
30 False False True False False
40 False False False True False
50 False False False False True

我需要做的是将这个框架折叠成一个 Nx2 pandas DataFrame,它的索引和列值在交点处具有 True 作为记录值。例如:

In[62]: res
Out[62]:
0 1
0 10 15
1 20 25
2 30 35
3 40 45
4 50 55

似乎找不到一个简单的方法来做到这一点。

最佳答案

pd.melt将 DataFrame 从宽格式“反转”为长格式:

result = pd.melt(df.reset_index(), id_vars=['index'])
mask = result['value'] == True
result = result.loc[mask, ['index', 'variable']]
result.columns = [0, 1]
print(result)

产量

     0   1
0 10 15
6 20 25
12 30 35
18 40 45
24 50 55

附言。您想要的 DataFrame 有两列,它们的值充当坐标。 df.pivot 方法将具有类坐标列的 DataFrame 转换为与原始 DataFrame 类似的“宽格式”DataFrame。当你想走另一条路时,使用 pd.melt

关于python - True 值的行和列索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27322502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com