python:将数组乘以pandas dataframe

时间:2016-05-23 20:12:25

标签: python dataframe

我有一个包含大约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;"有选择地。我的意思是,我可以选择要忽略的列。

1 个答案:

答案 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