DF2
包含原始名称的映射,以清理取决于我们正在查看的公司损益表的名称。我想拥有一个变量
CO
确定要加入哪个列。最终结果应将清理名称列入
DF1
.。
DF1
:
DF2
:
一个例子加入是:
DF1.join(DF2, DF1.Company_A = DF2.Final)
如何定义一个变量CO
DF1
DF1.join(DF2, DF1.CO = DF2.Final)
我不确定如何以雪花不认为变量
CO
是
DF1
。
SNOWPARK解决方案更喜欢,但是只要在雪花中起作用,Pandas就可以了。
您可以使用Snowpark DataFrame参数化列的名称。您可以使用存储在变量中的列名来动态构建联接条件来实现这一目标。这是您可以在Snowpark中做到这一点的方法
from snowflake.snowpark import Session
from snowflake.snowpark.functions import col
# Assuming you have a Snowflake session
session = Session.builder.configs(your_config).create()
# Load your DataFrames
df1 = session.table("DF1")
df2 = session.table("DF2")
# Define the variable CO
CO = "Company_A"
# Perform the join using the variable CO
joined_df = df1.join(df2, df1[CO] == df2["Final"])
# Show the result
joined_df.show()
创建:创建一个雪花会话。
加载数据范围:加载您的数据范围
DF1
和
DF2
加入数据框:使用
CO
方法与使用
join
df1[CO] == df2["Final"]
方法