有一种方法可以使用Snowpark DataFrame参数化列的名称? 我正在执行连接,我想在其中有一个可变名称以供列加入。 例如,DF1是一种损益表,使用订单项的原始名称。 DF2包含RAW

问题描述 投票:0回答:1
DF2

包含原始名称的映射,以清理取决于我们正在查看的公司损益表的名称。我想拥有一个变量

CO

确定要加入哪个列。最终结果应将清理名称列入

DF1
.
DF1

DF2

enter image description here

一个例子加入是:

DF1.join(DF2, DF1.Company_A = DF2.Final)

如何定义一个变量enter image description hereCO

以指定联接中的

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()

创建:创建一个雪花会话。
python pandas dataframe snowflake-cloud-data-platform
1个回答
0
投票

加载数据范围:加载您的数据范围

DF1
DF2
    .
  1. 定义变量:定义要加入您要加入的列名的变量。
  2. 加入数据框:使用
    CO
    方法与使用
    join

  3. 的动态指定列一起使用
  4. df1[CO] == df2["Final"]

    方法

    
        

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.