我如何根据日期列总结 python 中 qtablewidget 的所有价格?

How can I sum up of all prices from tablewidget in python in terms of date column?

我在编写代码以根据日期列汇总价格时遇到问题。

例如:

2019-12-31

我们有:

39,0 和 62.0

我想求和并在其他列或新行的最后日期下得到 101.0

tablewidget 中的所有数据我感谢 excel 电子表格 reader 程序:

df = pd.read_excel('test_cod.xlsx')
self.tableWidget_25.setRowCount(len(df.index))
for i in range(len(df.index)):
    for j in range (len(df.columns)):

self.tableWidget_25.setItem(i,j,QTableWidgetItem(str(df.iat[i,j])))

test_cos.xlsx 这里:spreedsheet

我为此创建了一个简单的 csv,但您可以轻松地将其应用于您的数据框。我使用的数据框是这样的:

         Date  value  total
0  24-11-2019     10    NaN
1  24-11-2019     20    NaN
2  24-11-2019     50    NaN
3  26-11-2019     14    NaN
4  26-11-2019     23    NaN
5  02-12-2019     15    NaN
6  02-12-2019     15    NaN

这是我想到的解决方案。它可能不是最佳的,因为我几乎没有使用过 pandas,但它确实有效。它不会在我认为你的草稿正在做的循环中循环,这在性能方面更好。

import pandas as pd

df = pd.read_csv('test.csv')

compareVal = df.Date[0]

total=0

print(df)

for x, date in enumerate(df.Date):
    if compareVal==date:
        total += df.value[x]

    else:
        df.at[x-1,'total'] = total
        total = df.value[x]
        compareVal = df.Date[x]

    if x == len(df)-1:
        df.at[x,'total'] = total

print(df)

这是输出:

         Date  value  total
0  24-11-2019     10    NaN
1  24-11-2019     20    NaN
2  24-11-2019     50   80.0
3  26-11-2019     14    NaN
4  26-11-2019     23   37.0
5  02-12-2019     15    NaN
6  02-12-2019     15   30.0