pandas + python :逐个单元合并 2 个数据帧

pandas + python : merge 2 dataframes cell by cell

我有两个 pandas.DataFrame :

values = pandas.DataFrame([[0, 1], [7,5]], columns=["a", "b"], index=[1, 2])
info = pandas.DataFrame([["foo", "bar"], ["few", "tar"]], columns=["a", "b"], index=[1, 2])

valuesinfo 是用户的设置,所以我想通过在所有列上逐个单元格地合并数据帧来打印图表,以获得如下内容:

    a           b
1   0 : foo     1 : bar
2   7 : few     5 : tar

如果没有 for 循环,我如何做到这一点?

您可以使用 pandas 内置的 .merge 方法。

所以对于你的情况,它会是这样的:

pd.merge(values, info, how='inner', on='user)

它的工作方式就像 SQL 中的联接。

本文中有一堆例子:

http://pandas.pydata.org/pandas-docs/stable/merging.html

您可以将values数据类型转换为str,并以:作为分隔符添加两个数据框。

values.apply(lambda col: col.astype(str)) + " : " + info

#   a       b
#1  0 : foo 1 : bar
#2  7 : few 5 : tar