繁体   English   中英

Pandas DataFrame将特定功能应用于每列

[英]Pandas DataFrame apply Specific Function to Each column

我有以下数据帧:

>>> import numpy as np
>>> import pandas as pd
>>> df=pd.DataFrame()
>>> df['Var1']=np.random.randint(0,100,10)    
>>> df['Var2']=np.random.randint(0,10,10)   
>>> df
   Var1  Var2
0    46     2
1    10     3
2    30     6
3    49     4
4    62     3
5    64     8
6    26     0
7    41     2
8     3     2
9    22     3
>>> 

我有以下系列,其中包含每列将乘以的乘法因子:

>>> MultFactors=pd.Series(index=['Var1','Var2'],data=np.random.randn(2))
>>> MultFactors
Var1    0.833691
Var2   -1.408577
dtype: float64
>>> 

返回与原始数据帧形状相同的数据帧的最佳方法是什么,并包含每个值乘以适当的乘法因子。 我可以用for循环来做这个,但我想知道更有效的方法是什么。

>>> for MultFactor in MultFactors.index:
...     df[MultFactor]=df[MultFactor]*MultFactors[MultFactor]
... 
>>> df
        Var1       Var2
0  38.349773  -2.817155
1   8.336907  -4.225732
2  25.010722  -8.451464
3  40.850845  -5.634310
4  51.688825  -4.225732
5  53.356206 -11.268619
6  21.675959  -0.000000
7  34.181319  -2.817155
8   2.501072  -2.817155
9  18.341196  -4.225732
>>> 

这不会得到同样的事情吗?

df = df * MultFactor

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM