Python 能否使用其他列表/集合中的值在数据帧中指定计算列?
我有一个这样格式的数据框,通过旋转excel文件生成:Python 能否使用其他列表/集合中的值在数据帧中指定计算列?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个这样格式的数据框,通过旋转excel文件生成: Gene Ref y z Sample 1 29.2877 29.0625 20.9868 2 29.9897 32.8044 25.8783 3 31.6335 34.7172 24.6268 我想使用列ref和y执行计算,然后使用列ref和z
Gene Ref y z
Sample
1 29.2877 29.0625 20.9868
2 29.9897 32.8044 25.8783
3 31.6335 34.7172 24.6268
我想使用列ref和y执行计算,然后使用列ref和z生成两个新列。我知道如何单独执行这些操作,但我希望能够根据前面生成的多个_columns=len(list)对象指定需要计算多少列(y、z…等等)。理想情况下,我还希望新列的名称取自之前生成的另一个集合。我总是将ref列作为第一列,所以我尝试了以下方法:
while number_of_columns != 0:
for column in df[(number_of_columns + 2)].iteritems():
df[set_of_names_of_new_columns] = df.(names_of_columns_to_use) + df[ref_column]
number_of_columns -= 1
显然,这不起作用,但我把它放进去,以显示我的想法。这也不是计算,只是在这里简化了
非常感谢任何帮助 如果df不是太宽,那么简单的for-loop方法可以很好地工作,因为每个列操作都是矢量化的。只需通过编程(通过名称而不是索引值)识别您感兴趣的引用行和列: 结果:
Gene Ref y z output_y output_z
Sample
1 29.2877 29.0625 20.9868 851.173781 614.655102
2 29.9897 32.8044 25.8783 983.794115 776.082454
3 31.6335 34.7172 24.6268 1098.226546 779.031878
预期产量?您能将其复制到您的问题中吗?另外,请包括:
要使用的列的名称
+ref\u列
,以使其重现。请提供一个,以及当前和预期的输出。看,太棒了!非常感谢你!我花了整整一个下午的时间试着这么做!
Gene Ref y z output_y output_z
Sample
1 29.2877 29.0625 20.9868 851.173781 614.655102
2 29.9897 32.8044 25.8783 983.794115 776.082454
3 31.6335 34.7172 24.6268 1098.226546 779.031878