【发布时间】:2019-03-31 00:45:42
【问题描述】:
我有两个具有相同行数的表(第二个表是通过处理 T1 内的文本从第一个表计算出来的)。我将它们都存储为熊猫数据框。 T2 与 T1 没有共同的列。这是示例,因为我的表很大:
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 我只会得到前一千个组合,其余的都是 nan(我仔细检查了两者的大小相同),使用 .join 它不会将它们组合起来,因为没有任何共同点。
有什么办法可以在 pandas 中组合这两个表吗?
谢谢
【问题讨论】:
-
也许这个 SO 问题可以帮助你? :link
-
DataFrames的大小相同吗?也许需要pd.concat([T1,T2], axis=1)我猜 -
或者如果两个DataFrame的索引不同但长度相同,则需要
pd.concat([T1.reset_index(drop=True),T2.reset_index(drop=True)], axis=1) -
谢谢你们,@jezrael 重置索引的解决方案似乎有效!谢谢大家!