如何在python中对导入的数组进行算术运算?

时间:2016-07-14 17:03:51

标签: python pandas

我是python的新手,只有一个学生,所以如果这个问题非常简单,我道歉

我已使用以下内容导入.csv文件并使用panda索引2列:

data_AM = pd.read_csv(name_AM, header = None, names = None, usecols = [2,4])

我想从第2列中减去第4列,但是当我使用np.subtract时,我得到一个错误,告诉我它是一个字符串。

当我尝试将整个列转换为浮点数时,它只将列索引标题转换为浮点数。例如,如果我使用:

x = [float(i) for i in time_AM]

其中time_AM是第2列,输出是[2.0]

如果我对第4列做同样的事情,输出是[4.0]

以下是输出time_AM的样子:

             2
3            0
4   2.83237624
5   7.64838266
6      11.6987
7     15.60853
8   19.3890476
9   25.1548729
10    30.15414
11    33.55736
12  37.2666435
13    41.67488
14    45.19324
15   50.327446
16  54.7211761
17  61.7345772
18    65.96731
19    72.20469
20    76.48047
21    80.90832
22    84.74452

有关如何对此进行算术的任何建议?基本上我试图自动化一些在excel中非常简单的东西,因为我必须多次这样做。

1 个答案:

答案 0 :(得分:0)

试试这个:

data_AM.iloc[:, 2].astype('float64').subtract(data_AM.iloc[:,4].astype('float64'))

.astype('float64')会将列的数据类型转换为float。 subtract是您正在寻找的功能。 .iloc是一个索引器,它按位置而不是标签进行索引。

据我所知,学习曲线非常陡峭,熊猫功能丰富且内容丰富。但请查看the docs寻求帮助。