+13 投票
分类:Python编程与实践 | 用户: (340 分)
我如何使得 pandas  A dataframe  中的  colnumA  和 B dataframe 中 colnumB colnumC

进行  between and 联接

快速,省内存

有模拟sql关联的包,数据大,报内存错误

1个回答

+1 投票
用户: (8.0k 分)

如果是两个df的拼接,可以使用pd.concat()方法,j将两个dataframe对象在指定的axis上进行拼接

import pandas as pd
df_1=pd.DataFrame(['a1','a2','a3'],columns=['ColumnA'])
df_2=pd.DataFrame(['b1','b2','b3'],columns=['ColumnB'])
print(df_1)
print(df_2)
df_3=pd.concat([df_1,df_2],axis=1)
print(df_3)
>>>   ColumnA
0      a1
1      a2
2      a3
  ColumnB
0      b1
1      b2
2      b3
  ColumnA ColumnB
0      a1      b1
1      a2      b2
2      a3      b3

具体concat方法可以参考教程pandas数据合并之一文弄懂pd.concat() - 知乎 (zhihu.com)

或者pandas的官方文档pandas.concat — pandas 1.5.0 documentation (pydata.org)

用户: (340 分)
你的意思弄笛卡尔积,在过滤是吧,那个我会
我是想问有啥高效省内存的方法
pandas  A dataframe  中的  colnumA  和 B dataframe 中 colnumB colnumC

on  a.a between  b.b and b.c


进行  between and 联接

快速,省内存

有模拟sql关联的包,数据大,报内存错误
欢迎来到 爱可可Q&A ,有什么问题可以尽管在这里提问,你将会收到其他成员的热心回答。
...