Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过在Python中添加全局变量名和字符串来创建df列名_Python_Python 3.x_Pandas - Fatal编程技术网

通过在Python中添加全局变量名和字符串来创建df列名

通过在Python中添加全局变量名和字符串来创建df列名,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个全局变量 split\u ask\u min='最低花费' 我想在我的df中创建一个新变量,将其命名为“Minimum_Spend_Sum”,并使其成为Minimum_Spend之和 var_程序['split_ask_min+\u Sum']=var_程序[split_ask_min].groupby(X['NAME'])。转换('Sum') 创建变量名时遇到问题。应该是 拆分“求最小值”+“求和” 等于 最低消费额 但是如果我编码 var_程序['split_ask_

我有一个全局变量

split\u ask\u min='最低花费'

我想在我的df中创建一个新变量,将其命名为“Minimum_Spend_Sum”,并使其成为Minimum_Spend之和


var_程序['split_ask_min+\u Sum']=var_程序[split_ask_min].groupby(X['NAME'])。转换('Sum')
创建变量名时遇到问题。应该是


拆分“求最小值”+“求和”
等于

最低消费额

但是如果我编码

var_程序['split_ask_min+''u Sum']


我遇到一个错误

除非您确实需要创建一个变量,否则请使用字典来存储该值

df = {}
split_ask_min = 'Minimum_Spend'
df[split_ask_min + '_Sum'] = ...
print(df)
否则,您可以使用
globals()


要在df中创建新列,可以传递构造的字符串以向df添加新列:

In [239]:
split_ask_min = 'Minimum_Spend'
df = pd.DataFrame(np.random.randn(5,3), columns=list('abc'))
df[split_ask_min + '_Sum'] = 0
df

Out[239]:
          a         b         c  Minimum_Spend_Sum
0 -0.113483 -0.487551  0.276176                  0
1  0.143454 -1.322578 -2.040297                  0
2 -0.100320  0.716255  1.109432                  0
3 -1.260516 -0.560957  0.007871                  0
4  0.497407 -2.031782  0.933199                  0

您的问题不清楚,您是在
df['split\u ask\u minu Sum']=Minimum\u Spend\u Sum
No.我在创建变量名时遇到问题。让我编辑一下我的问题,让它更清楚一些。你是不是在问相反的问题:
Minimum\u-Spend\u-Sum=df['split\u-ask\u-min\u-Sum']
?你能发布原始数据、代码和所需的输出吗?因为你的问题真的不明确。我想你是在寻找
df[split\u ask\u min+'\u Sum']=some\u var
In [239]:
split_ask_min = 'Minimum_Spend'
df = pd.DataFrame(np.random.randn(5,3), columns=list('abc'))
df[split_ask_min + '_Sum'] = 0
df

Out[239]:
          a         b         c  Minimum_Spend_Sum
0 -0.113483 -0.487551  0.276176                  0
1  0.143454 -1.322578 -2.040297                  0
2 -0.100320  0.716255  1.109432                  0
3 -1.260516 -0.560957  0.007871                  0
4  0.497407 -2.031782  0.933199                  0