我正在寻找改进我的代码,我找不到任何关于我的问题的线索。 我有2个数据帧(假设A和B),行数和行数相同。列。
我想创建第三个数据帧C,它将根据B [x,y]元素转换每个A [x,y]元素。
实际上我用2个循环执行操作,一个用于x,一个用于y维度:
import pandas
A=pandas.DataFrame([["dataA1","dataA2","dataA3"],["dataA4","dataA5","dataA6"]])
B=pandas.DataFrame([["dataB1","dataB2","dataB3"],["dataB4","dataB5","dataB6"]])
Result=pandas.DataFrame([["","",""],["","",""]])
def mycomplexfunction(x,y):
return str.upper(x)+str.lower(y)
for indexLine in range(0,2):
for indexColumn in range(0,3):
Result.loc[indexLine,indexColumn]=mycomplexfunction(A.loc[indexLine,indexColumn],B.loc[indexLine,indexColumn])
print(Result)
0 1 2
0 DATAA1datab1 DATAA2datab2 DATAA3datab3
1 DATAA4datab4 DATAA5datab5 DATAA6datab6
但我正在寻找一种更优雅,更快捷的方法来直接使用数据框功能。
有什么想法吗? 谢谢,