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])
values
和 info
是用户的设置,所以我想通过在所有列上逐个单元格地合并数据帧来打印图表,以获得如下内容:
a b
1 0 : foo 1 : bar
2 7 : few 5 : tar
如果没有 for 循环,我如何做到这一点?
您可以使用 pandas 内置的 .merge 方法。
所以对于你的情况,它会是这样的:
pd.merge(values, info, how='inner', on='user)
它的工作方式就像 SQL 中的联接。
本文中有一堆例子:
您可以将values
数据类型转换为str,并以:
作为分隔符添加两个数据框。
values.apply(lambda col: col.astype(str)) + " : " + info
# a b
#1 0 : foo 1 : bar
#2 7 : few 5 : tar
我有两个 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])
values
和 info
是用户的设置,所以我想通过在所有列上逐个单元格地合并数据帧来打印图表,以获得如下内容:
a b
1 0 : foo 1 : bar
2 7 : few 5 : tar
如果没有 for 循环,我如何做到这一点?
您可以使用 pandas 内置的 .merge 方法。
所以对于你的情况,它会是这样的:
pd.merge(values, info, how='inner', on='user)
它的工作方式就像 SQL 中的联接。
本文中有一堆例子:
您可以将values
数据类型转换为str,并以:
作为分隔符添加两个数据框。
values.apply(lambda col: col.astype(str)) + " : " + info
# a b
#1 0 : foo 1 : bar
#2 7 : few 5 : tar