作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个 NxM
数据框和一个 NxL
numpy 矩阵。我想将矩阵添加到数据框以通过简单地按照它们出现的相同顺序附加列和行来创建 L 新列。我尝试了 merge()
和 join()
,但我最终遇到了错误:
assign() keywords must be strings
和
columns overlap but no suffix specified
分别。
有没有办法可以添加一个 numpy 矩阵作为数据框列?
最佳答案
您可以将矩阵转换为 datframe 并使用 concat
axis=1
:
例如,给定一个数据框 df
和一个 numpy 数组 mat
:
>>> df
a b
0 5 5
1 0 7
2 1 0
3 0 4
4 6 4
>>> mat
array([[0.44926098, 0.29567859, 0.60728561],
[0.32180566, 0.32499134, 0.94950085],
[0.64958125, 0.00566706, 0.56473627],
[0.17357589, 0.71053224, 0.17854188],
[0.38348102, 0.12440952, 0.90359566]])
你可以这样做:
>>> pd.concat([df, pd.DataFrame(mat)], axis=1)
a b 0 1 2
0 5 5 0.449261 0.295679 0.607286
1 0 7 0.321806 0.324991 0.949501
2 1 0 0.649581 0.005667 0.564736
3 0 4 0.173576 0.710532 0.178542
4 6 4 0.383481 0.124410 0.903596
关于python - 如何将 numpy 矩阵添加为 pandas 数据框的新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51848161/
我是一名优秀的程序员,十分优秀!