我有一个包含大约50列的数据框。我需要有选择地从中取消选择一列或两列并乘以另一个数组。
我的意思是:
df = pandas({'A':numpy.array([,1,4,6,7,8]),'B':numpy.array([4,5,6,7,8]),'C':numpy.array([1,2,3,4,5])})
z = numpy.array([5,10])
我想用
生成数据框df['A']*5
df['B']*10
或在另一个实例上生成
df['A']*5
df['C']*10
要忽略的列名称会根据代码中的条件进行更改。所以,我想将数据帧中所选列的每个元素乘以数组z。
编辑: 随机替换了#34;"有选择地。我的意思是,我可以选择要忽略的列。
答案 0 :(得分:0)
我认为应该这样做:
import random
df[random.sample(df.columns, 2)] * z
或者如果您更愿意保留订购:
df.drop(random.sample(df.columns, 1), axis = 1) * z
用您自己的列表替换“随机”位以实现“选择性”而不是随机性,例如:
df.drop('A', axis = 1) * z