我有一个数据框,我将其转换为数组(这是一个测试场景,因为我在pandas的结果方面存在问题)。现在我想要对其中一列进行求和。
我有以下代码:
import sys
import pandas as pd
import numpy as np
import os
from tkinter import *
#data_rbu = np.genfromtxt('tmp_fakt_daten.csv', delimiter=',', dtype=None)
data_rbu = pd.read_excel('tmp_fakt_daten.xlsx')
array_rbu = data_rbu.as_matrix()
print(array_rbu)
summe1 = np.sum(array_rbu, axis=9, dtype=float)
print(summe1)
这是数组!我想要将KW_WERT和NETTO_EURO相加。
执行代码后,我得到了以下错误:
Traceback (most recent call last):
File "C:\Users\----------\[INPROGRESS] Faktura_sylvia\csv_einlesen bzgl. float\test2.py", line 12, in <module>
summe1 = np.sum(array_rbu, axis=9, dtype=float)
File "C:\Users\---------\Winpython\python-3.4.3\lib\site-packages\numpy\core\fromnumeric.py", line 1724, in sum
out=out, keepdims=keepdims)
File "C:\Users\----------\Winpython\python-3.4.3\lib\site-packages\numpy\core\_methods.py", line 32, in _sum
return umr_sum(a, axis, dtype, out, keepdims)
ValueError: 'axis' entry is out of bounds
我知道问题出在轴编号上,但我不确定具体哪里出错了。我查看了numpy.sum的文档... 希望你能帮助我! Damian
np_arr = data_rbu[['KW_WERT', 'NETTO_EURO']].values # gives you numpy array with just the columns you want
,然后numpy.sum(np_arr, axis=0)
,你会得到相同的答案。这是关于numpy.sum
的numpy文档:http://docs.scipy.org/doc/numpy/reference/generated/numpy.sum.html,请查看示例;特别是第4和第5个示例。 - Kartiknumpy.sum(array_rbu[:,7])
用于“KW_WERT”,以及numpy.sum(array_rbu[:,8])
用于“NETTO_EURO”...明白了吗?另外,numpy是从0开始索引的,所以第9列是最后一列(TA),它是一个字符串,无法求和...很高兴帮助! - Kartik