我正在尋找 python 代碼來粘貼兩個具有相同列名、維度和資料型別(字串)的資料幀的值字串。
我想通過將 DF1 和 DF2 的每個元素粘貼在一起來創建一個新的資料幀,這些元素位于每個資料幀內的相應位置,并且每個字串之間有一個“,”分隔符。
輸入資料幀(DF1 和 DF2)和預期輸出
等效的 R 代碼將使用矩陣: matrix(paste(DF1,DF2, sep=";"),nrow = nrow(DF1), dimnames=dimnames(DF1))
有沒有辦法用python做到這一點?看起來應該很簡單,但提前致謝!
uj5u.com熱心網友回復:
使用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
uj5u.com熱心網友回復:
您可以直接將列添加在一起,并用于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
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/312999.html
