Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何读取管道分隔的事务文件并生成销售报告_Python_Pandas - Fatal编程技术网

Python 如何读取管道分隔的事务文件并生成销售报告

Python 如何读取管道分隔的事务文件并生成销售报告,python,pandas,Python,Pandas,我有一个管道分隔的事务文件。我想从这些数据中确定以下内容 每个客户的总收入报告 每个客户的一份报告,显示他们在每个类别上的支出。 这可以通过以下方式实现: 你能给我们看一下你的代码吗?并解释一下问题所在。你已经解释了你的程序应该做什么。我想它实际上并没有做到这一点,或者你不会在这里,但这就是我所能猜到的。太棒了。谢谢你的回答。请告诉我如何找到以下内容。显示每个报告的增值税组成部分。所有商品都有9.25%的销售税。@mike,我建议你单独提问。。与groupby.post作为单独问题的方法不完全相

我有一个管道分隔的事务文件。我想从这些数据中确定以下内容

每个客户的总收入报告 每个客户的一份报告,显示他们在每个类别上的支出。 这可以通过以下方式实现:


你能给我们看一下你的代码吗?并解释一下问题所在。你已经解释了你的程序应该做什么。我想它实际上并没有做到这一点,或者你不会在这里,但这就是我所能猜到的。太棒了。谢谢你的回答。请告诉我如何找到以下内容。显示每个报告的增值税组成部分。所有商品都有9.25%的销售税。@mike,我建议你单独提问。。与groupby.post作为单独问题的方法不完全相同。
Pedro|groceries|apple|1.42
Nitin|tobacco|cigarettes|15.00
Susie|groceries|cereal|5.50
Susie|groceries|milk|4.75
Susie|tobacco|cigarettes|15.00
Susie|fuel|gasoline|44.90
Pedro|fuel|propane|9.60
import pandas as pd
from io import StringIO

mystr = """Pedro|groceries|apple|1.42
Nitin|tobacco|cigarettes|15.00
Susie|groceries|cereal|5.50
Susie|groceries|milk|4.75
Susie|tobacco|cigarettes|15.00
Susie|fuel|gasoline|44.90
Pedro|fuel|propane|9.60"""

df = pd.read_csv(StringIO(mystr), header=None, sep='|',
                 names=['Name', 'Category', 'Product', 'Sales'])

# Report 1
rep1 = df.groupby('Name')['Sales'].sum()

# Name
# Nitin    15.00
# Pedro    11.02
# Susie    70.15
# Name: Sales, dtype: float64

# Report 2
rep2 = df.groupby(['Name', 'Category'])['Sales'].sum()

# Name   Category 
# Nitin  tobacco      15.00
# Pedro  fuel          9.60
#        groceries     1.42
# Susie  fuel         44.90
#        groceries    10.25
#        tobacco      15.00
# Name: Sales, dtype: float64