我有两个行数相同的表(第二个表是通过处理 T1 内的文本从第一个表计算得出的)。我将它们都存储为 pandas 数据框。 T2 与 T1 没有公共(public)列。这是示例,因为我的表很大:
T1:
| name | street | city |
|-------|---------|--------|
| David | street1 | Prague |
| John | street2 | Berlin |
| Joe | street3 | London |
T2:
| computed1 | computed2 |
|-----------|-----------|
| 0.5 | 0.3 |
| 0.2 | 0.8 |
| 0.1 | 0.6 |
Merged:
| name | street | city | computed1 | computed2 |
|-------|---------|--------|-----------|-----------|
| David | street1 | Prague | 0.5 | 0.3 |
| John | street2 | Berlin | 0.2 | 0.8 |
| Joe | street3 | London | 0.1 | 0.6 |
我尝试了这些命令:
pd.concat([T1,T2])
pd.merge([T1,T2])
result=T1.join(T1)
使用 concat 和 merge 我只会得到前 1000 个组合,剩下的用 nan 填充(我仔细检查了两者的大小相同),并且使用 .join 它不会组合它们,因为没有任何共同点。
有什么办法可以在 pandas 中合并这两个表吗?
谢谢
在 concat
之前您需要 reset_index()
以获得默认索引:
df = pd.concat([T1.reset_index(drop=True),T2.reset_index(drop=True)], axis=1)
我是一名优秀的程序员,十分优秀!