我正在寻找Python代码,以将两个具有相同列名、维度和数据类型(字符串)的数据框的值字符串粘贴在一起。
我想通过将DF1和DF2中每个元素粘贴在一起来创建一个新的数据框,这些元素位于每个数据框内对应的位置,并且每个字符串之间有","分隔符。
等效的R代码将使用矩阵:matrix(paste(DF1,DF2, sep=";"),nrow = nrow(DF1), dimnames=dimnames(DF1))
是否有一种方法可以用Python实现这个功能?看起来应该很简单,但提前感谢!
我正在寻找Python代码,以将两个具有相同列名、维度和数据类型(字符串)的数据框的值字符串粘贴在一起。
我想通过将DF1和DF2中每个元素粘贴在一起来创建一个新的数据框,这些元素位于每个数据框内对应的位置,并且每个字符串之间有","分隔符。
等效的R代码将使用矩阵:matrix(paste(DF1,DF2, sep=";"),nrow = nrow(DF1), dimnames=dimnames(DF1))
是否有一种方法可以用Python实现这个功能?看起来应该很简单,但提前感谢!
pd.concat
:out = pd.concat([df1.stack(), df2.stack()], axis=1) \
.apply(lambda x: ','.join(x), axis=1) \
.unstack()
输出:
>>> out
A B C
0 z,f x,h c,j
1 v,t b,y n,u
2 a,u s,i d,o
pd.concat
将它们收集到一个数据框中。import pandas as pd
df1 = pd.DataFrame({"a": ["big", "small"], "b": ["good", "bad"]})
df2 = pd.DataFrame({"a": ["shrimp", "lobster"], "b": ["will", "omen"]})
pd.concat([df1[col] + "," + df2[col] for col in df1],
axis="columns")
# a b
# 0 big,shrimp good,will
# 1 small,lobster bad,omen
df1 + "," + df2
# a b
# 0 big,shrimp good,will
# 1 small,lobster bad,omen