Python 将第1列中的行值转换为变量,将第2列中的行值转换为变量值

Python 将第1列中的行值转换为变量,将第2列中的行值转换为变量值,python,dataframe,loc,Python,Dataframe,Loc,我目前有一个4列的数据框。我想使用第一列创建一个变量,第二列作为该变量的值。第1列为命名输入,第2列为命名值 df.loc[df['Input']=='variable1'['Value'].values 生成变量应为的值,但我必须指定variable1、variable2等 我想得到一个for循环,它返回'Input'作为新变量名,上面的代码作为该变量的值 DF - 2 col Input | Value Variable1 | 35 Variable2 | 187 ..

我目前有一个4列的数据框。我想使用第一列创建一个变量,第二列作为该变量的值。第1列为命名输入,第2列为命名值

df.loc[df['Input']=='variable1'['Value'].values
生成变量应为的值,但我必须指定variable1、variable2等

我想得到一个for循环,它返回'Input'作为新变量名,上面的代码作为该变量的值

DF - 2 col

Input      | Value
Variable1  |  35
Variable2  |  187
.....
Variable17 |  19

最终结果将是 变量1=35 变量2=187

这样我就可以做

newdf['computation']=newdf['xyz']+Variable1-Variable2



你可以这样做。执行此操作之前,需要设置变量:

Variable1
# 34
df = pd.DataFrame() 
df= df.assign(Input='Variable' + pd.Series(range(1,10)).astype(str)) 
df['Value'] = df['Input'].apply(lambda x: eval(x)) 
输出:

In [2202]: df                                                                                                                                                                                              
Out[2202]: 
       Input  Value
0  Variable1     34
1  Variable2     37
2  Variable3     12
3  Variable4      9
4  Variable5     35
5  Variable6    127
6  Variable7     21
7  Variable8      2
8  Variable9     27
要倒退:

df.将索引('Input')['Value']设置为目录()


请包括一个。这种方法有效,但我不想列出不断变化的变量数量。我希望这个为数据帧提供数据的输入文件成为变量的基础。提前为35个用户创建它们不是很有效。而且变量不是一个接一个的数字。它可以像p_e,销售,利润,等等,你想从DF中创建变量,对吗?最好的方法是创建一个dict。然后我可以调用variable3作为示例,还是需要像字典一样调用它?你需要像字典一样调用它。我不确定如何将其设置为变量,或者如果可能的话,因为当我在其中使用equal时,eval会抛出一个错误
{'Variable1': 34,
 'Variable2': 37,
 'Variable3': 12,
 'Variable4': 9,
 'Variable5': 35,
 'Variable6': 127,
 'Variable7': 21,
 'Variable8': 2,
 'Variable9': 27}