Kor*_*ain 2 python multiplication dataframe pandas
如何仅将数据帧的特定列乘以常数值?
df0 = pd.DataFrame({'A' : 1.,
'B' : 1,
'C' : 1,
'D' : np.array([1] * 4,dtype='int32')})
mult_by_two = df0.iloc[:,2:].mul(2)
print mult_by_two
Run Code Online (Sandbox Code Playgroud)
我明白了:
C D
0 2 2
1 2 2
2 2 2
3 2 2
Run Code Online (Sandbox Code Playgroud)
但我想要的是:
A B C D
0 1 1 2 2
1 1 1 2 2
2 1 1 2 2
3 1 1 2 2
Run Code Online (Sandbox Code Playgroud)
您可以将结果分配给df0:
>>> df0.iloc[:,2:] = df0.iloc[:,2:].mul(2)
>>> df0
A B C D
0 1 1 2 2
1 1 1 2 2
2 1 1 2 2
3 1 1 2 2
Run Code Online (Sandbox Code Playgroud)
如果您想要副本,请在分配之前制作:
df1 = df0.copy()
df1.iloc[:,2:] = df1.iloc[:,2:].mul(2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8213 次 |
| 最近记录: |