Python 基于包含左列(2)值的dataframe iterable行生成变量

Python 基于包含左列(2)值的dataframe iterable行生成变量,python,pandas,dataframe,dictionary,variables,Python,Pandas,Dataframe,Dictionary,Variables,因此,感谢您对解决代码的欣赏,但我认为我使用您的代码以类似的方式运行dataframe,但是当我运行原始dataframe来执行函数时,问题就出现了 这是我的原始数据帧 [In] : df [Out]: Keterangan Q2 2019 Q2 2018 0 Kas

因此,感谢您对解决代码的欣赏,但我认为我使用您的代码以类似的方式运行dataframe,但是当我运行原始dataframe来执行函数时,问题就出现了

这是我的原始数据帧

[In] : df
[Out]: 

    Keterangan                                                       Q2 2019        Q2 2018
0   Kas                                                              22686796.0     27421625.0
1   Giro pada bank indonesia                                         68409507.0     71159442.0
2   Giro pada bank lain                                              15675129.0     12584938.0
3   Giro pada bank lain pihak ketiga                                 88548.0        92417.0
4   Giro pada bank lain pihak berelasi                               41391653.0     84668151.0
5   Penempatan pada bank indonesia dan bank lain                     1825890.0      2349900.0
6   Penempatan pada bank indonesia dan bank lain pihak ketiga        28443695.0     30264303.0
7   Penempatan pada bank indonesia dan bank lain pihak berelasi      144798482.0    154020507.0
8   Efek-efek yang diperdagangkan                                    -758.0        -758.0
9   Efek-efek yang diperdagangkan pihak ketiga                       24081797.0     9396553.
10  Efek-efek yang diperdagangkan pihak berelasi                     20253524.0     20584035.0
11  Cadangan kerugian penurunan nilai pada efek-efek                 2713267.0      6858655.0
当我运行您的代码时,它工作平稳,可以使列变为变量,它需要变为变量,以便您可以运行def函数,对吗

columns_1 = df['Keterangan']
columns_2 = df[columns_a] #here is unified column which i have been processed before
所以使用你的代码,所以我运行它

def row_to_var(df, columns_1, columns_2, space_replace_with=''):
"""
columns_1 will be used as variable names and columns_2 as the values
"""
df_dict=dict(zip(df[columns_1].values,df[columns_2].values))
for key,val in df_dict.items():
  varname=str(key).replace(' ',space_replace_with)
  exec(varname + '='+str(val), globals())

row_to_var(df,'Keterangan', columns_a)
它的错误告诉了谷歌这样的合作

 File "<string>", line 1
 SyntaxError: can't assign to operator
文件“”,第1行
SyntaxError:无法分配给运算符
您能评估一下为什么会发生类似类型的数据帧,但不能以您的方式正常工作的情况吗