python - 将 pandas DataFrame 的所有列连接到第一列
问题描述
我有一个包含 N (>10000) 列的数据框,我想将它们全部连接到第一列(换句话说,一个“低于”另一个,都在第一列)。
我所拥有的看起来像这样:
cols = {'col1':['a','a','b','b'], ... , 'coln':[1,2,3,4]}
a = pd.DataFrame(cols)
a
col1 ... coln
0 ... 1
4 ... 2
3 ... 3
3 ... 4
我试图得到这样的东西:
col1
0
4
3
3
...
1
2
3
4
通常我会做这样的事情,这实际上是有效的:
b = pd.concat([a['col1'], ..., a['coln']]).reset_index(drop=True)
但我想知道是否有更好的方法来做到这一点,因为对于大数据框,我的方法需要很长时间。
谢谢!
解决方案
这在这里得到了回答,但总结一下:
b = pd.concat([a[col] for col in a])
推荐阅读
- elasticsearch - 聚合的扫描结果
- postgresql - 类似数据库中的不同 postgrese 行为
- aframe - aframe 状态组件:bind-for 不更新实体
- flutter - 我的代码有什么问题?它只显示黑屏
- verilog - 将参数传递给 Verilog 函数
- php - laravel如何连接两个表并获取数据?
- jquery - 使用 CSRF 令牌发布(内部服务器错误)
- javascript - 当 onFocus 触发时反应防止 onClick 触发
- arrays - 嵌套 JSON 与 powershell 中的列表和值
- c# - 按特定顺序编写 XML 属性和命名空间声明