在 SQL 中,您可以在没有键的情况下连接两个表,以便两个表的所有记录相互合并。如果pandas.concat()
or pandas.merge()
或者其他一些 pandas 语法支持这一点,它可以帮助我解决我试图解决的问题的一步。我在帮助文档中找到了一个外部联接选项,但我找不到执行我想要的操作的确切语法(无需键即可联接所有记录)。
为了更好地解释这一点:
import pandas as pd
lunchmenupairs2 = [["pizza", "italian"],["lasagna", "italian"],["orange", "fruit"]]
teamcuisinepreferences2 = [["ian", "*"]]
lunchLabels = ["Food", "Type"]
teamLabels = ["Person", "Type"]
df1 = pd.DataFrame.from_records(lunchmenupairs2, columns=lunchLabels)
df2 = pd.DataFrame.from_records(teamcuisinepreferences2, columns=teamLabels)
print(df1)
print(df2)
输出这些表:
Food Type
0 pizza italian
1 lasagna italian
2 orange fruit
Person Type
0 ian *
我希望合并的最终结果是:
Person Type Food Type
0 ian * pizza italian
1 ian * lasagna italian
2 ian * orange fruit
然后,我可以轻松删除不需要的列,并转到我正在处理的代码中的下一步。这不起作用:
merged_data = pd.merge(left=df2,right=df1, how='outer')
有没有办法做到这种类型DataFrame
合并?