Python 3.x 如何在csv文件中查找特定行并将这些行中的某些值相加?
我有一项任务需要由一班学生完成,但我目前无法完成。我已经掌握了python的基本技能,但我正在尽可能地学习 学生们正在进行一个与汽车租赁公司相关的案例研究。他们租赁三种类型的车辆,哈奇、轿车或SUV,并为每个客户计算每月租赁成本。此数据以以下格式存储在CSV文件中: 我需要能够做到以下几点:Python 3.x 如何在csv文件中查找特定行并将这些行中的某些值相加?,python-3.x,Python 3.x,我有一项任务需要由一班学生完成,但我目前无法完成。我已经掌握了python的基本技能,但我正在尽可能地学习 学生们正在进行一个与汽车租赁公司相关的案例研究。他们租赁三种类型的车辆,哈奇、轿车或SUV,并为每个客户计算每月租赁成本。此数据以以下格式存储在CSV文件中: 我需要能够做到以下几点: 搜索文件以查找特定类型的所有车辆(例如SUV) 将该特定车型的所有月度成本加在一起(在本例中,350+450总计为800) 将摘要写入另一个文件,列出车辆类型和每月总成本 我已经浏览了一段时间,但我真的不
df = pd.DataFrame(data= {'vehicle': ['Hatch', 'Sedan', 'SUV', 'SUV', 'Sedan'], 'term': [4,3,5,3,4], 'cost': [300,400,350,450,400]})
df = df.groupby('vehicle').agg('sum').reset_index()
df.to_csv('demo.csv', index=False)
您的数据框将如下所示:
vehicle term cost
0 Hatch 4 300
1 SUV 8 800
2 Sedan 7 800
使用Python中的Pandas可以很容易地做到这一点 结果将类似于此:
向我们展示您所做的尝试。是否要根据车辆类型进行分组并获得总成本?遗憾的是,以前没有尝试过,抱歉。正如我所说,我只有基本的知识,并试图扩大这一点。我可以创建和编写CSV文件,但不确定这项特定任务。是的,我基本上是想把同一车型的所有车辆组合在一起,并将与该特定车型相关的成本相加。该代码如何处理更多数据?我上传的csv是一个示例,展示了我想要实现的目标,但是如果文件的行数超过100行,或者甚至是未知的行数,该怎么办?您可以使用
df=pd.read_csv(“csv文件路径”)
将csv作为数据帧加载。如果没有熊猫,您可以将其作为文件加载,然后编写逻辑以跟踪操作,正如您执行正常的读写操作一样,Pandas很好地完成了这项工作,但我也很谨慎,这意味着孩子们(和我自己)将能够跳过对数据如何排序和搜索的理解。你有没有什么样的例子来说明我如何在不使用熊猫的情况下达到同样的效果?即使它不是示例代码,也可能是我需要执行的步骤?我希望我能把这些逻辑拼凑起来,找到我需要写的东西。大家在上面所做的是一个巨大的帮助。但是,有没有一种不用熊猫的方法呢?Pandas不是标准Python包的一部分,对吗?有一个叫做蟒蛇的包裹,对吗?我在考虑孩子们可能在笔记本电脑上安装了什么,他们是否需要安装其他软件,以及这对他们来说有多困难。你可以根据需要安装软件包,就像你的例子中的熊猫一样,你不需要安装巨蟒。只需在命令提示符下运行pip install pandas
,它将只安装pandas
及其依赖项。再次感谢。我一直在使用Thonny作为我的编辑器,并在那里找到了如何根据您的建议安装它。正如我所说,我有基本的知识,我正努力在这基础上发展。
# first of all we read the csv:
df = pd.read_csv('cars.csv')
# Group by Type and sum by monthly cost
result = df[['vehicle', 'cost']].groupby('vehicle').sum()
# Convert result to a new file
result.to_csv('new_file.csv')