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

时间:2016-11-01 00:47:42

标签: python pandas dataframe cells

我有两个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循环,我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

您可以将:数据类型转换为str,并使用values.apply(lambda col: col.astype(str)) + " : " + info # a b #1 0 : foo 1 : bar #2 7 : few 5 : tar 作为分隔符添加两个数据框。

{{1}}

答案 1 :(得分:0)

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

因此,对于您的情况,它将类似于:

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

它就像SQL中的连接一样。

本文中有很多例子:

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