[英]looping through rows with a column title
我想在csv文件的第2列中獲得總利潤: Date Profit/Losses Jan-10 867884 Feb-10 984655 Mar-10 322013 Apr-10 -69417 May-10 310503 Jun-10 522857 Jul-10 1033096 Aug-10 604885 Sep-10 -216386 ... ...
我試圖做一個if語句,如果如果那行,那么PositiveCounter將存儲正值,而NegativeCounter將存儲負值,然后得到總數。
file = "./pybank.csv"
with open(file,"r",newline="") as datafile:
writer = csv.reader(datafile)
# writer.writerow(["Columna 1", "Columna 2", "Columna 3"])
# writer.writerow(zipped)
#variables
numMonths = 0
totalAmountPositive = 0
totalAmountNegative = 0
for row in writer:
if row[0]:
numMonths += 1
if row[1]:
if row[1] >= 0:
totalAmountPositive = totalAmountPositive + row[1]
else:
totalAmountNegative = totalAmountNegative + row[1]
totalAmount = totalAmountPositive + totalAmountNegative
print(numMonths)
print(totalAmount)
除第2欄的總額以外
使用大熊貓進行更好的操控
安裝熊貓
$ pip install pandas
碼
import pandas as pd
df = pd.read_csv("./pybank.csv")
profit = df['Profit/Losses'].sum()
我希望您在Pandas庫中完成這些任務。 您可以使用pip install pandas
進行pip install pandas
。
import pandas as pd
df = pd.read_csv('./pybank.csv', sep='\t', dtype={'Profit\Loses': int64})
sum_profit = df['Profit\Loses'].sum()
print(sum_profit)
談到sep
您的文件看起來像用制表符分隔,但可能是空格,因此請將\\t
更改為\\s
。 我們正在做的是將文件讀取到數據幀並設置正確的數據類型,以便我們可以使用sum。 查閱Pandas文檔,了解更多您可以做的事情。
使用csv打開文件不是一個好方法。 通過以下方式使用pandas庫:
import pandas as pd
dataframe = pd.read_csv("./pybank.csv")
totalAmount = dataframe['Profit/Losses'].sum()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.