Python 将第1列中的行值转换为变量,将第2列中的行值转换为变量值
我目前有一个4列的数据框。我想使用第一列创建一个变量,第二列作为该变量的值。第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 ..
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}