python - 将数据框的特定列乘以常量标量值

标签 python pandas dataframe multiplication

如何仅将数据框的特定列乘以常数值?

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

我明白了:

   C  D
0  2  2
1  2  2
2  2  2
3  2  2

但我想要的是:

   A  B  C  D
0  1  1  2  2
1  1  1  2  2
2  1  1  2  2
3  1  1  2  2

最佳答案

您可以将结果分配给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

如果你想要一份副本,请在作业之前制作:

df1 = df0.copy()
df1.iloc[:,2:] = df1.iloc[:,2:].mul(2)

关于python - 将数据框的特定列乘以常量标量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35094256/

相关文章:

python - 为什么 python 说我有 "no module named venv"?

python - 在同一图 pandas 上绘制多个数据框

Python Pandas pd.merge_asof : TypeError: 'NoneType' object is not callable

count - Pandas python如何计算数据框中的记录或行数

python - Groupby 和 reshape 长到宽格式的数据框

python - 如何在单个 Flask 应用程序中使用 Plotly-Dash 创建多个仪表板?

python - Dropbox Python API : Uploading a file

Python 在 Mac OSX 上没有显示正确的版本

python - groupby 的 last 在 pandas 中的性能问题

r - 如何在 R 中衡量每周的交付率