数据帧值乘以2

时间:2018-12-13 21:58:09

标签: python dataframe

我有一个一维数据框:

           4DS.AX   A2B.AX  A2M.AX  AAC.AX  ABC.AX  ABP.AX  ACW.AX  ADH.AX  

2018-12-14  0.00    0.00    0.14    0.01    0.12    0.01    0.00    0.01

预期产量

          4DS.AX    A2B.AX  A2M.AX  AAC.AX  ABC.AX  ABP.AX  ACW.AX  ADH.AX     
 2018-12-14 0.00    0.00    0.28    0.02    0.24    0.02    0.00    0.02

我想将所有值乘以2
这是我的尝试:

   [in] df=df.iloc[0,:]*2.0

[出]

             A2B.AX      A2M.AX      AAC.AX     ABC.AX      ABP.AX  
2018-12-14  0.000.00    0.140.14    0.010.01    0.120.12....

1 个答案:

答案 0 :(得分:2)

似乎列的类型是str/object类型,因此它是追加而不是相乘

示例

import pandas as pd
pd.DataFrame({'x':['0.1']})*2

输出:

0.10.1

pd.DataFrame({'x':[0.1]})*2

输出

0.2

可以检查列的类型

print(df.dtypes)

为了更改列的类型

for col in ['4DS.AX','A2B.AX','A2M.AX','AAC.AX','ABC.AX','ABP.AX','ACW.AX','ADH.AX']:
    df[col] = df[col].astype('float')

然后,它也应该工作

df.iloc[0,:]*2.0