python - 从 Python DataFrame 的行/列数据中生成对
问题描述
我想像 python 的数据框一样从下面进行配对我想做的是与行和列配对,例如:(1,a),(4,c),(6,c),(3,d) , (2,f), (4,f), (6,f), (6,g)
有没有办法做到这一点。提前致谢。
解决方案
数据:
a b c d e f g
1 1.0 NaN NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN 1.0 NaN
3 NaN NaN NaN 1.0 NaN NaN NaN
4 NaN NaN NaN 1.0 NaN 1.0 NaN
选项 1:您可以使用np.where
:
rows, cols = np.where(df.eq(1))
[*zip(df.index[rows], df.columns[cols])]
输出:
[(1, 'a'), (2, 'f'), (3, 'd'), (4, 'd'), (4, 'f')]
选项 2:
df.stack().index.values
输出:
array([(1, 'a'), (2, 'f'), (3, 'd'), (4, 'd'), (4, 'f')], dtype=object)
推荐阅读
- r - 不知道如何将 DF 读入另一个 DF 以进行更改
- mapping - DBMS 关系模式映射
- javascript - 使用 CSS 动画和 Javascript 切换 div
- javascript - 在 React 中将表格行添加到表格中
- python - 是否可以使用 webdriver/Selenium 来获取用户实际查看的当前选项卡
- python - 将字符串切成 n 组
- python - 用于查找最大值的嵌套 For 循环
- python - 如何在 vscode 终端中访问我的 python 虚拟环境
- ios - 导航栏样式
- javascript - 通过 .load() 加载内容时,Bootstrap 4 模式未关闭