首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫数据垂直连接

熊猫数据垂直连接
EN

Stack Overflow用户
提问于 2022-11-30 06:42:02
回答 2查看 38关注 0票数 -1

请帮帮我。例如,我有两个数据处理程序:

代码语言:javascript
复制
| 1 | 4 | 
| 2 | 5 |
| 3 | 6 |

代码语言:javascript
复制
| 7 | 10 |
| 8 | 11 |
| 9 | 12 |

如何将它们加入到这样的垂直数据文件中:

代码语言:javascript
复制
| 1 | 4 | 
| 2 | 5 |
| 3 | 6 |
| 7 | 10 |
| 8 | 11 |
| 9 | 12 |

许多thx

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-30 07:19:27

如果您的目标是垂直叠加两个(或更多) DataFrames,独立于索引,则使用numpy.vstack

代码语言:javascript
复制
import numpy as np

out = pd.DataFrame(np.vstack(table[:2]),
                   columns=table[0].columns # optional
                  )

输出:

代码语言:javascript
复制
   0   1
0  1   4
1  2   5
2  3   6
3  7  10
4  8  11
5  9  12
票数 0
EN

Stack Overflow用户

发布于 2022-11-30 06:48:30

重复列名存在问题,需要先重命名:

代码语言:javascript
复制
print (table[0])
   col  col
0    1    4
1    2    5
2    3    6

print (table[1])
   col  col
0    7   10
1    8   11
2    9   12

代码语言:javascript
复制
#https://stackoverflow.com/a/46332739/2901002
class renamer():
    def __init__(self):
         self.d = dict()

    def __call__(self, x):
         if x not in self.d:
             self.d[x] = 0
             return x
         else:
             self.d[x] += 1
             return "%s_%d" % (x, self.d[x])

df = pd.concat((table[0].rename(columns=renamer()), table[1].rename(columns=renamer())),
                ignore_index=True)

print (df)
   col  col_1
0    1      4
1    2      5
2    3      6
3    7     10
4    8     11
5    9     12
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74623765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档