【发布时间】:2018-01-18 14:41:55
【问题描述】:
我正在尝试在 Python 3.6.1 中执行一个涉及字符串列表的相当简单的循环。本质上,我有一个如下所示的数据框:
X_out Y_out Z_in X_in Y_in Z_in
Year
1969 4 3 4 4 3 3
1970 2 0 1 3 2 2
1971 3 1 1 0 1 2
1972 2 0 0 3 1 0
我想找出 X、Y 和 Z 的净变化,使它们成为此数据框中的新列。
最简单的形式是
df['x_net'] = df['x_in'] - df['x_out']
df['y_net'] = df['y_in'] - df['y_out']
df['z_net'] = df['z_in'] - df['z_out']
但实际上,需要以这种方式创建大约十五列。既然它会是一只熊,我认为最好放入一个函数,或者至少是一个循环。我列出了我们最初的“根”变量,没有后缀,如下所示:
root_vars = ['x', 'y', 'z']
我认为我的代码可能(?)看起来像:
for i in root_vars:
df['%s_net'] = df['%s_in'] - df['%s_out'] %(root_vars_[i])
但这绝对是不对的。有人可以帮我看看这个吗?
非常感谢!
【问题讨论】:
标签: python string python-3.x function loops