gpt4 book ai didi

python - 合并两个数据帧以模仿 'select * from tablea, tableb'

转载 作者:行者123 更新时间:2023-12-01 07:51:54 25 4
gpt4 key购买 nike

我想将两个数据帧合并在一起以模仿“select * from A, B”,例如,表 A 将如下所示:

import pandas as pd
table_a = pd.DataFrame({'id': ['A', 'B']})

表 B 将如下所示:

import pandas as pd
table_b = pd.DataFrame({'x': [1,2], 'y':[3,4]})

我想要的是

import pandas as pd
table_c = pd.DataFrame({'id':['A', 'A', 'B', 'B'],
'x': [1,2,1,2], 'y':[3,4,3,4]})

即复制 A 和 B table_b.shape[0] 次并追加。

我相信有多种方法可以做到这一点。例如,

a = table_b.loc[np.tile(table_b.index.values, table_a.shape[0])]
b = table_a.loc[np.repeat(table_a.index.values, table_b.shape[0])]
a['id'] = b['id'].values

还有其他更好的方法吗?谢谢

最佳答案

pd.DataFrame([
d1 + d2
for d1 in zip(*map(table_a.get, table_a))
for d2 in zip(*map(table_b.get, table_b))
], columns=table_a.columns.append(table_b.columns))

关于python - 合并两个数据帧以模仿 'select * from tablea, tableb',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56168001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com