我是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中非常简单的东西,因为我必须多次这样做。
答案 0 :(得分:0)
试试这个:
data_AM.iloc[:, 2].astype('float64').subtract(data_AM.iloc[:,4].astype('float64'))
.astype('float64')
会将列的数据类型转换为float。 subtract
是您正在寻找的功能。 .iloc
是一个索引器,它按位置而不是标签进行索引。
据我所知,学习曲线非常陡峭,熊猫功能丰富且内容丰富。但请查看the docs寻求帮助。