python pandas - 使用 for 循环将列附加到空数据框

python pandas - Append columns to an empty dataframe with a for loop

我有 2 个数据帧,c_rx。我正在尝试 append 一个空数据框,代码如下:

new_df = pd.DataFrame()

for i in c_r:
    for j in x:
        if c_r[i].dtype != object and x[j].dtype != object:
            if i == j:
                col_c = c_r[i]
                col_j = x[j]
                new_df[i+'-Diff'] = col_c - col_j
        
        else:
            break

但我一直返回一个空数据框。谁能建议我做错了什么?谢谢

您的代码工作正常,但可能没有必要。但是如果你想使用它。我在

中将 dfs 创建为 c_r
EOL - CL Per $;Access - CL Per $;Total Impact - CL Per $
-0.02;-0.39;-0.01
-0.02;-0.39;-0.02
-0.02;-0.39;-0.01
-0.02;-0.39;-0.02

x

EOL - CL Per $;Access - CL Per $;Total Impact - CL Per $
-0.02;-0.39;0.05
-0.02;-0.39;0.03
-0.02;-0.39;0.06
-0.02;-0.39;0.04

然后

c_r = pd.read_csv(r"C:/users/k_sego/c_r.csv", sep=";")
x = pd.read_csv(r"C:/users/k_sego/x.csv", sep=";")

您的代码

new_df = pd.DataFrame()

for i in c_r:
    for j in x:
        if c_r[i].dtype != object and x[j].dtype != object:
            if i == j:
                col_c = c_r[i]
                col_j = x[j]
                new_df[i+'-Diff'] = col_c - col_j
        
        else:
            break

工作正常并给予

   EOL - CL Per $-Diff  Access - CL Per $-Diff  Total Impact - CL Per $-Diff
0                  0.0                     0.0                         -0.06
1                  0.0                     0.0                         -0.05
2                  0.0                     0.0                         -0.07
3                  0.0                     0.0                         -0.06

所以,如果它对您不起作用,那一定与您拥有的文件有关。