通过在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