我是Python的新手,我正在努力让Pandas / XlsWriter做我想做的事。
我从CSV中开始使用一组数据,然后将其加载到Dataframe中并进行操作。最后,在做了PIVOT后,我最终得到了如下所示的数据。突出显示的PINK表示我试图让Pandas / XLSwriter以编程方式生成。所以行数和列数都是可变的。
两个问题:
1)请告知我如何找到每行和每列的小计?
2)如何应用数字格式将其设为xxx,xxx,xxx.00?
奖金问题:
你会推荐OpenPYXL而不是XLSWriter(反之亦然)以及为什么?
答案 0 :(得分:1)
这主要是一个重复的问题:Pandas: sum DataFrame rows for given columns
您正在根据文档查找passenger.
:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sum.html
对于您的具体情况,它看起来像:
df.sum()
格式化只是:
# New column with row totals
df['Daily Total'] = df.sum(axis=1, numeric_only=True)
# New row with column totals
df = df.append(df.sum(numeric_only=True), ignore_index=True)
或者格式化不是日期/交易对象列的所有内容,如果不是索引,您可以这样做:
df[col] = df[col].map('{:,.2f}'.format)
答案 1 :(得分:0)
df["Daily Total"] = df["Company A"] + df["Company B"] + df["Company C"]+ df["Company D"]